Autor Beitrag
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Do 08.07.10 12:26 
Moin,

Im Moment übergebe ich Daten aus einer Datatable zu Excel mittels eines Durchlaufs der Zeilen und Spalten der Datatable. Es ist leider die Prozedur, welche am längsten dauert und somit suche ich eine Möglichkeit, die Daten schneller zu übergeben.

Das einzige was fest vorgegeben ist, ist die Ausgabe in Excel. Also immer her mit Ideen. :)

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Do 08.07.10 12:33 
Hallo,

muss es eine besondere Form in Excel sein? Excel kann ja auch ein CSV-Datei einlesen. Vlt. erstellst du so eine und lädst dann diese, wenn es unbedingt Excel sein muss ;)

Gruß
ene Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Do 08.07.10 12:56 
Leider muss es Excel als Exceldatei sein, damit können die Kollegen halt arbeiten. Ein INSERT INTO [Excel] kann ich so leider auch nicht direkt ausführen, da die Datatable über mehrere Abfragen befüllt und aufbereitet wird :(

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 08.07.10 12:57 
Da du die Daten in einer DataTable hast würde ich einfach mal versuchen die per TableAdapter weg zuschreiben und dabei die verschiedenen Connectionmöglichkeiten durchprobieren ob das was genügend schnelles dabei ist..
ene Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Do 08.07.10 12:59 
@Ralf Hast du zufällig ein Beispiel oder Pseudocode dafür? Irgendwie denke ich, dass es klappen müsste, hab aber ein ziemliches Brett vorm Kopf.

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 08.07.10 15:38 
Wie hast du denn jetzt deine Daten in die Datatable hineinbekommen? Wie man mit Tableadaptern/DataAdaptern etc. umgeht ist dir bewusst/nicht bewußt? Oder wo beginnen deine Vorstellungsprobleme?
ene Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Fr 09.07.10 06:38 
Die Datatable wird über DataReader und Berechnungen befüllt. Es sind halt viele Einzelschritte und nicht eine Abfrage.

Grundsätzlich weiß ich, wie ich mit dem TableAdapter arbeite, kann es in der Express-Variante nur leider nicht mit Oracle kombinieren. Mir fehlt die Verbindung TableAdapter -> Excel. Ich kenne sonst nur die direkte Abfrage wie SELECT * FROM [Excel...].[Tabelle!Sheet] oder INSERT INTO [Excel...].

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 09.07.10 14:02 
Ob Excel oder Oracle ist doch egal. Es funktioniert identisch. Du musst halt nur die passende Connection für Excel benutzen(Die Möglichkeiten hatte ich verlinkt). Im Tableadapter musst du dann eben noch ein passendes DBCommand für den Insert pflegen (dein INSERT INTO [ExcelSheetIrgendwas]) und den Tableadapter wie gewohnt aufrufen.
ene Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Mo 12.07.10 11:57 
Das hat mich zu einem anderen Ansatz gebracht. Ich erstelle mir einfach aus der DataTable eine SQL-Anweisung und übergebe so die Daten zeilenweise. Nicht optimal aber auf jeden Fall deutlich schneller als vorher ;)

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.