Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten export nach Excel (https://www.delphipraxis.net/95141-daten-export-nach-excel.html)

MCOP2001DE 1. Jul 2007 23:22

Datenbank: Access • Version: 2003 • Zugriff über: ADO

Daten export nach Excel
 
Hallo

Ich habe folgen des Problem.
Ich möchte bestimmte Daten, die ich über einen Query suchen und anzeigen lasse, in bestimmte Felder im Excel ablegen.
z.B. Artikelnummer soll in Feld B2 im Excel geschrieben werden Artikelname in C2 usw
ist das mit Delphi möglich wenn ja wie.
Ich habe schon über die Server Komponenten versuch etwas hin zu bekommen aber ich weiß nicht wie ich sie einsetzen soll.
Den in der Delphi Hilfe steht nicht zu dem Thema.


Gruß

MCOP2001de

x000x 2. Jul 2007 01:08

Re: Daten export nach Excel
 
Hallo MCOP2001de, dein echter Vorname? ;-)

es gibt viele Möglichkeiten das zu realisieren.
Muß es eine xls Datei sein, oder würde es eine csv Datei auch tun?

Ich habe nur mal nach deiner Themenüberschrift Daten export nach Excel gesucht, dort wird
deine Frage meiner Meinung nach beantwortet (sogar mit Code-Schnippseln).
Evtl. ist hier ja auch was dabei? Hier im Forum suchenTJvDBGridExcelExport

MCOP2001DE 2. Jul 2007 20:20

Re: Daten export nach Excel
 
Hallo x000x

Danke für deine schnell Antwort.
Ja es muß eine xls datei sein die auch schon existiert ich müsste nun die Daten aus meinem Programm in die Tabelle in die dafür vorgesehenen Felder eintragen lassen.
geht das?

Mcop2001de

x000x 2. Jul 2007 22:27

Re: Daten export nach Excel
 
Moin moin MCOP2001de,

du kannst auch Peter zu mir sagen.
Zitat:

Zitat von MCOP2001DE
...geht das?

Ja es geht.
Die Such-Anfragen aus meinem letzten Beitrag führen dich eigentlich zu genau solchen Themen.
Wie gesagt, dort sind auch Code Auszüge mit bei. Lese dir diese Threads mal durch, sollten
dann Fragen aufkommen, kannst du sie hier konkret formulieren.
Viel Erfolg ;-)

Hansa 3. Jul 2007 02:11

Re: Daten export nach Excel
 
Wie hoch ist denn das Datenvolumen ? IMHO ist es in puncto Excel immer noch am einfachsten, eine Datei zu erstellen und diese dann komplett zu importieren. CSV sollte aber nicht interpretiert werden als eine "comma separated Value" Datei, sondern sollte schon eine normale Textdatei sein (allerdings mit klar definierten festen Feldlängen, Profis brauchen keine festen Trennzeichen. Habe so was zumindest noch nicht gesehen). Ansonsten besteht ein gewisses Risiko und sei es nur, weil der CSV-Character als ';' eingestellt wurde, der Zeichensatz als englisch interpretiert wird und dann wegen jedem Original "ö" ein Feldende simuliert wird. Das kann gefährlich werden. Alles schon erlebt. Deshalb mein Rat : Datei immer neu erstellen.

MCOP2001DE 3. Jul 2007 06:14

Re: Daten export nach Excel
 
Hallo

Das Datenvolumen ist garnicht so groß. Zweck für diese Erstellung ist es das wir in unserem Unternehmemen ein Excel Datei Vorlage für Bestellungen Ausfüllen müssen und diese zu unserem Einkauf per Email schicken müssen. Es Handelt sich um maximal 12 Datensätze die in die Volage eingefügt werden müssen. Wobei dei Vorlage von der Formatierung her nicht verändert werden darf.
Das Ansprechen von gezeilten Zellen habe ich schon hin bekommen aber er erstellt immer eine neue Datei und löscht mir die Formatirung der original Datei. Wie kann ich einen vorhandene Datei nur aufüllen?


Mcop2001de

Joffm 5. Jul 2007 14:00

Re: Daten export nach Excel
 
Hallo, MCOP2001DE,

hast Du Dir schon einmal die FLEXCEL-Komponente von Adrian Gallero angesehen.
Mit dem FlexcelImport hast Du IMHO genau die Komponete, die Du brauchtst

Joffm

hoika 6. Jul 2007 14:30

Re: Daten export nach Excel
 
Hallo,

http://www.dsdt.info/tutorials/automation/?page=5


Heiko

MCOP2001DE 6. Jul 2007 22:08

Re: Daten export nach Excel
 
Hallo Heiko

Danke für den Link ich habe das bei mir mal ausprobiert ich bekomme aber leider nur die Fehlermeldung zu wenig Parameter wenn ich den Quelltext so ausprobieren möchte gibt es den bei denVersionen so große Unterschiede?

ich benutze Delphi 7 und Office 2003 also die Komonenten von ExcelXP.

gruß

Mirko

Chemiker 7. Jul 2007 00:08

Re: Daten export nach Excel
 
Hallo MCOP2001DE,

vielleicht hilft Dir das weiter.

Delphi-Quellcode:
function EXCELStarten (var m_EXCEL : Variant): boolean;
begin
   try
    m_EXCEL := CreateOleObject('Excel.Application');
    Result := TRUE;
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Result := FALSE;
    Exit
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var ArtNr, ArtBez : string;
    DateiName: string;
    Excel: Variant;
begin
  DateiName:= 'F:\Excel-ProgammOrdner\Beispiel Daten\Bestellungen.xls';
  if EXCELStarten(Excel)then  // Excel startet
  begin
    ShowMessage('MSExcel ist erfolgreich gestartet worden!!');
  end
  else
  begin
     ShowMessage('MSExcel konnte nicht gestartet werden!!');
  end;

  Excel.Workbooks.Open(DateiName);
  Excel.Visible := TRUE;            // TRUE = Excel sichtbar.
  Excel.Worksheets[1].Activate;
  ArtNr:= '4711';
  ArtBez:= 'Wasser';
  Excel.Cells[2,3]:= ArtNr;
  Excel.Cells[2,4]:= ArtBez;
  Excel.Quit;
end;
Der Dateiname muss natürlich noch angepasst werden.
Die Formatierungen bleiben im Excel-Formular erhalten, es werden nur die Daten geschrieben. Das ganze zeigt auch nur wie Daten in ein Excel-Formular geschrieben werden können.

Bis bald Chemiker

BrightAngel 7. Jul 2007 00:15

Re: Daten export nach Excel
 
mit den OLE-Objecten kann man das ja schon recht easy machen aber was macht man, wenn kein Excel auf dem Zielrechner installiert ist.(Ich weiß, er selbst hat es..., aber für alle Eventualitäten... :roll: )

Worauf ich hinaus will: Mann müsste eigentlich das File-Format von *.xls implementieren (z.B. vorhandene Unit????)

Chemiker 7. Jul 2007 00:33

Re: Daten export nach Excel
 
Hallo BrighAngel,

ohne OLE ist das ganze nicht so einfach. Es ist von der Version von Excel abhängig die Dokumentation ist seit EXCEL 5.0 von MS unter Verschluss. Man kann das Ganze nur mit einem HEX-Editior versuchen herauszufinden. Wenn es dich interessiert such mal unter BIFF- Formate in Google.

Bis bald Chemiker

grenzgaenger 7. Jul 2007 01:06

Re: Daten export nach Excel
 
Zitat:

Zitat von BrightAngel
mit den OLE-Objecten kann man das ja schon recht easy machen aber was macht man, wenn kein Excel auf dem Zielrechner installiert ist.(Ich weiß, er selbst hat es..., aber für alle Eventualitäten... :roll: )

Worauf ich hinaus will: Mann müsste eigentlich das File-Format von *.xls implementieren (z.B. vorhandene Unit????)

tja. in diesem fall würde ich anraten, excel zu installieren ;-)

denke, das ist das einfachste und auch konstengünstigste... ansonsten kannst deiner abteilung erzählen, welche die vorlagen erstellt, dass sie das in zukunft in XML machen soll....

grüsse

mikhal 7. Jul 2007 08:57

Re: Daten export nach Excel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Was spricht dagegen, ein veraltetes XLS-Format zu erzeugen (via Unit)? Letztlich kann jedes moderne Excel mit diesem Format umgehen.

Entsprechende Units findet man bei Torry. Wer ein wenig portugisisch lesen kann wird hier fündig.

Grüße
Mikhal

PS: In meiner Firma verwende ich die folgende Unit, um Excel-Tabelle zu erzeugen (auch ein uraltes Excel-Format). Autor: Eddy Sterckx, Status: Freeware

Chemiker 7. Jul 2007 11:09

Re: Daten export nach Excel
 
Hallo mikhal,

es spricht nichts dagegen ein älteres XLS – Format zu verwenden. Ich habe es aber so verstanden, dass in einem vorgeben Excel – Formular die Daten eingetragen werden sollen.
Es ist schon ein Problem an der richtigen Stelle die Daten ohne zu formatieren einzutragen ohne OLE. Die älteren BIFF – Formate können von Excel zwar gelesen werden, aber mit dem schreiben zieht die ganze Sache schon etwas anders aus. Das bedeutet eine Menge Programmierarbeit, alleine um festzustellen in welchen BIFF – Format die Datei abgespeichert ist, wo müssen die Daten eingesetzt werden um die Formatierungen nicht zu zerstören usw. usw. .

Bis bald Chemiker

MCOP2001DE 7. Jul 2007 19:12

Re: Daten export nach Excel
 
Hallo alle zusammen

Ich denke das mit dem Export ist zwar Fragwürdig aber es gibt immer mal Fälle in dennen mann auf solche Formate zugreifen muß.
Also meine ich kann es doch sinvoll sein das so zumachen.

Chemiker ich habe den Code mal ausprobiert und bekomme nur die Meldung das CreateOleObject ein Undefinirter Bezeichner ist was mache ich verkehrt?

Gruß

Mirko

Chemiker 7. Jul 2007 19:41

Re: Daten export nach Excel
 
Hallo MCOP2001De,

es wird wahrscheinlich die Unit: ComObj fehlen, diese müsste mit eingebunden werden.

Bis bald Chemiker

MCOP2001DE 7. Jul 2007 19:53

Re: Daten export nach Excel
 
Ja danke das war der Fehler
jetzt klappt es

Mirko


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz