![]() |
Re: Datenbank in Excel schreiben
Hallo JoJo,
ob über TTable oder TQuery sollte egal sein. Mit welcher Stelle in meinem Quelltext kommst Du nicht voran? mfg eddy |
Re: Datenbank in Excel schreiben
Hi Eddy,
also Dein Source ist ok, habe ich getestet. Meine Probleme sind: A: Ich habe ein TimeStamp-Format '12.10.2003 03:34:22' das wird aber NICHT so übernommen, Excel schneidet die Sekunden ab. B: Die Routine springt irgendwann raus. (Datenbank hat ca. 30.000 Datensätze) Mann müßte Excel wohl noch den Datentyp mit übergeben. Ich denke das müßte so Funktionieren, doch wie wird der DatenTyp an Excel übergeben. Var DTyp : Variant;
Code:
Hmmmm, ok ich versuche mal weiterhin mit :
try
Excel.Workbooks.Add; // leere Tabelle wird erzeugt, 1. Blatt angewählt Tab1.First; zl := 1; // Feldbezeichner übertragen for i := 0 to Tab1.FieldCount - 1 do begin s := Tab1.FieldDefs.Items[i].Name; [B]DTyp := Tab1.FieldDefs.Items[i].DataType;[/B] Excel.Cells[1, i+1] := s; // zeile,spalte [B]Excel.xxxxxx := DTyp;[/B] end; ExcelApplication ExcelWorkBook ExcelWorkSheet obwohl ich da auch erstmal nicht weiterkomme. Gruß JoJo :wall: [edit=Sharky]Doppelposting gelöscht. Mfg, Sharky[/edit] |
Re: Datenbank in Excel schreiben
Habe eine Frage:
mit
Code:
erzeuge ich ja eine leere Tabelle und das 1. Blatt wird angewählt.
Excel.Workbooks.Add;
Wie wähle ich das 2.Blatt an? Kann ich die Blätter umbenennen? Greetz, enDyExcellent |
Re: Datenbank in Excel schreiben
Hallo JoJo,
Dein Problem unter A ist sicherlich lösbar, wenn Du in Excel Format-Benutzerdefiniert TT.MM.JJJJ hh:mm:ss:ms eingibst. (Bei den Postleitzahlen dürften nach dem Transfer auch die führenden Nullen fehlen.) Problem B: ich hab's mal ausprobiert. Eine Datenbank mit 2780 Einträgen und 33 Feldern (nur +, N, A, L, kein Blob) je Eintrag. Erstens dauert's ewig (ca. 8 Minuten für 2361 Sätze) und zweitens gab's irgendein OLE-Exception bei Datensatz 2361. (3xversucht, auch Neuaufbau der Indexdateien hat nicht geholfen --> nicht weiter gesucht). Die gleiche Datei (2780 Sätze) war in 2 Sekunden übertragen und das Einlesen in Excel war Sekundensache. Bei 30.000 Datensätzen empfehle ich Dir den Umweg über CSV zu nehmen. mfg eddy |
Re: Datenbank in Excel schreiben
Hallo endyexcellent,
was Du willst sollte gehen. Ich habe das nicht weiter ausprobiert, aber Du findest alle notwendigen Informationen unter ![]() Ich hoffe, es hilft Dir weiter. mfg eddy |
Re: Datenbank in Excel schreiben
Danke eddy. Auf der Seite war ich schon. Hat mir nicht weitergeholfen. Hab's mit anderen Dokumentationen und Büchern hinbekommen.
Anderes Problem: mit
Code:
Wähle ich ja den gesamten Bereich aus, sprich ich markiere alles.
Excel.Cells.select;
Wie mache ich das rückgängig? |
Re: Datenbank in Excel schreiben
Hat jemand eine Ahnung/Idee wie ich etwas in das zweite Worksheet schreiben kann?
Oder in das dritte? Ich kann nur in das erste schreiben... |
Re: Datenbank in Excel schreiben
Hallo endyexcellent,
dazu musst du dir die 2. Seite als Objekt holen und darüber auf die Zellen zugreifen:
Delphi-Quellcode:
ZweiteSeite := ExcelApplication1.Worksheets.Item['Seite2'] as _Worksheet;
|
Re: Datenbank in Excel schreiben
@MrSpock
Code:
kennt Delphi bei mir nicht. Muss ich irgendwelche units einfügen?
_Worksheet
|
Re: Datenbank in Excel schreiben
Hallo endyexcellent,
vielleicht solltest Du Dir doch den o.g. Link etwas genauer ansehen. Da ist Deine Frage beantwortet unter der Überschrift: ![]() Natürlich mußt Du das noch genau auf Deinen Quelltext abstimmen. mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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 by Thomas Breitkreuz