C#: Grosse Datenmenge in Excel exportieren

OP #2356200
Lesenswert?

Hallo miteinander

Ich bin auf ein kleines Problem gestossen:
Bei einem Datenlogger will ich die empfangenen Daten in eine Excel Datei 
speichern, um ein paar Diagrammer erstellen zu können. Dabei habe ich 
mich für das Clipboard entschieden, da hier der Export am schnellsten 
geht.
ABER, wenn ich jetzt Daten >2.5MB kopieren möchte, bleibt die GUI hängen 
(SaveFileDialoge). Ich müsste aber bis zu 10MB kopieren können.

Zweiter Ansatz war, das ganze Exportieren in einen BackgroundWorker zu 
verschieben, aber leider ist das ClipBoard nur SingleTread...
Hierbei wäre sehr nützlich gewesen, dass ich die ProgressBar als 
Zustandsanzeige hätte nutzen können. So hätte man gesehen, wenn der 
Export beendet gewesen wäre.

Hat jemand einen anderen Ansatz für mich?

Die Timer-Variante und Zerhacken der Daten möchte ich vermeiden, da die 
Excel COM sehr langsam ist. Daher der Gedanke, alles in einem Rutsch zu 
machen.

Besten Dank
MFG
Patrick
Gast #2356692
Lesenswert?

Du kannst auch das Excelfile mit OLEDB öffnen und deine Daten 
reinschreiben.
oder, noch viel schöner, du erstellst einen lokalen Report (rdlc) 
füllest ihn mit deinen Daten, Kundenlogo usw. und speicherst ihn als 
excel ab.
Das geht auch ohne preview.

Thomas
#2356710
Lesenswert?

über COM kann man aber (IMHO) auch "tricksen"
indem man nicht jede zelle einzeln sondern in "blöcken" übergibt

da gibt es sicher mehr als eine möglichkeit..


ich würd allerdings die diagramme einfach selber erzeugen

dazu gibt es in c# doch sicher auch bibliotheken?!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren