| Autor |
Beitrag |
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: 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
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: 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 
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: 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
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: 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 
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: 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
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: 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 
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: 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
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: 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 
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: 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.
|
|
|