Autor Beitrag
Netwalker
Hält's aus hier
Beiträge: 7

WIN 2000
D7
BeitragVerfasst: Do 07.10.04 09:52 
Hallo allerseits,

ich hab folgendes Problem. Ich möchte aus einem DBGrid mehrere Zeilen gleichzeitig kopieren (über die Zwischenablage) und in eine Exceltabelle einfügen.
Bei meinen Versuchen kam ich immer nur soweit, das ich einzelne Spalten kopieren und in Excel aber alles in eine Zelle einfügen konnte.
Ich muss aber ggf. sogar das gesammte DBGrid kopieren und in Excel auch als Tabelle einfügen können.

Vieleicht liegt die Lösung ja so nah, dass ich sie schon gar nicht mehr sehen kann.
Wer hat da eine gute Idee?
DannyVapid
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


Delphi 5 Enterprise
BeitragVerfasst: Do 07.10.04 10:39 
Hallo,
ich würde sagen die Zwischenablage ist nicht gerade eine gute Methode um komplexere Datenstrukturen auszutauschen.
besser wäre da ein ActiveX-Zugriff auf Excel, so könntest Du eine "export to excel"-funktion programmieren und diese
ganz nach Deinen Wünschen anpassen.

ein kleines beispielprogramm zeigt wie das mit Word funktioniert,
findest Du im Demo-Verzeichnis unter \activex\oleauto\word8 (zumindest bei Delphi5).
nun müsstest du also noch die Typbibliothek für Excel importieren (falls noch nicht geschehen)
und Dich mit der Schnittstelle vertraut machen.

ich hoffe dieser kleine Tip hilft Dir weiter.

mfg, Danny
Netwalker Threadstarter
Hält's aus hier
Beiträge: 7

WIN 2000
D7
BeitragVerfasst: Fr 08.10.04 11:58 
Nun ja, aber es ist nicht immer die gleiche Excel-Tabelle und auch nicht immer das gleiche Workbook.
Ich möchte halt nur die Daten im Format einer Tabelle kopieren und in irgendeine Exceltabelle einfügen können.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 08.10.04 12:29 
Es gibt doch so viele schöne Export-Komponenten bei [url=www.torry.net]Torry[/url]. Bei einigen braucht nichtmal Excel installiert sein.
DannyVapid
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


Delphi 5 Enterprise
BeitragVerfasst: Fr 08.10.04 12:56 
Netwalker hat folgendes geschrieben:
Nun ja, aber es ist nicht immer die gleiche Excel-Tabelle und auch nicht immer das gleiche Workbook.
Ich möchte halt nur die Daten im Format einer Tabelle kopieren und in irgendeine Exceltabelle einfügen können.


genau, es muß ja auch nicht immer die gleiche Tabelle/Worksheet sein. Du könntest Du Funktion auch so programmieren, daß die Daten einfach in die gerade geöffnete Excel-Tabelle/Worksheet kopiert werden.

Alternativ könntest Du auch noch die bei Delphi mitgelieferten Serverkomponenten für Excel verwenden, oder die von Jasocul vorgeschlagenen Torry's.
Netwalker Threadstarter
Hält's aus hier
Beiträge: 7

WIN 2000
D7
BeitragVerfasst: Fr 08.10.04 17:58 
Es soll ja nicht so kompliziert sein.
Es muß doch eine einfache Möglichkeit geben, die es erlaubt, den Inhalt eines DBGrid oder vieleicht auch den Inhalt eines StringGrid zu makieren ( multiselect o.ä.) , zu kopieren und in irgend eine andere Tabelle einzufügen. Ggf vieleicht in ein anderes Programm einzufügen.(als Tabellenformat).:?: