Entwickler-Ecke
Sonstiges (.NET) - Schnelles Schreiben in Excel
ene - Do 08.07.10 12:26
Titel: Schnelles Schreiben in Excel
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. :)
danielf - 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 - 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 :(
ene - 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.
Ralf Jansen - 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 - 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...].
Ralf Jansen - 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 - 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 ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!