![]() |
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 |
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 ![]() deine Frage meiner Meinung nach beantwortet (sogar mit Code-Schnippseln). Evtl. ist hier ja auch was dabei? ![]() |
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 |
Re: Daten export nach Excel
Moin moin MCOP2001de,
du kannst auch Peter zu mir sagen. Zitat:
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 ;-) |
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.
|
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 |
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 |
Re: Daten export nach Excel
|
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 |
Re: Daten export nach Excel
Hallo MCOP2001DE,
vielleicht hilft Dir das weiter.
Delphi-Quellcode:
Der Dateiname muss natürlich noch angepasst werden.
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; 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 |
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????) |
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 |
Re: Daten export nach Excel
Zitat:
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 |
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 ![]() ![]() 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 |
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 |
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 |
Re: Daten export nach Excel
Hallo MCOP2001De,
es wird wahrscheinlich die Unit: ComObj fehlen, diese müsste mit eingebunden werden. Bis bald Chemiker |
Re: Daten export nach Excel
Ja danke das war der Fehler
jetzt klappt es Mirko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz