Forum: PC-Programmierung effizientes Exportieren von Daten aus VB.Net


von Peter S. (schoells)


Lesenswert?

Hallo zusammen!

Ich möchte aus VB.net ein Array, welches mit in etwa 80000 Daten gefüllt 
ist effizient exportieren.

Ich persönlich habe bis jetzt alle Datenexporte (jedoch bei einer viel 
niedrigeren Anzahl von Datensätzen) immer wie folgt realisiert:

Array in einen DataTable geschrieben und anschließend die Daten aus dem 
DataTable als *.csv exportiert.

Gibt es in VB.net eine effizientere Möglichkeit Daten in *.csv Datein zu 
exportieren, oder ist die oben angeführte Lösung doch ganz ok?

lg
Peter

von Sebastian L. (Gast)


Lesenswert?

Hi

Denk mal über xml Serialisierung nach.
Ist zwar je nach Komplexität deiner Datenklasse etwas mehr Arbeit diese 
so zu programmieren bis das sauber läuft aber an sich ne nette Sache 
weil du den Code zum Speichern und Laden nur einmal anfassen musst.

von Sharping (Gast)


Lesenswert?

Also wenn es effizient sein soll, würde ich das Array auf jeden Fall 
binär exportieren. Das geht am schnellsten und produziert die geringste 
Datenmenge.

von Peter II (Gast)


Lesenswert?

warun nicht einfach direkt eine CSV datei schreiben? Warum der umweg 
über die DataTable?.

wenn 80.000 Datesätze mehr als ein paar sekunden dauert stimmt etwas 
nicht.

von Robert L. (lrlr)


Lesenswert?

>Denk mal über xml Serialisierung nach.

genau, CSV ist ihm zu langsam, und du schägst xml vor ..


ich würd es, so wie  Peter II sagt machen, einfach selber das CSV 
erstellen..


(alternativ, falls dass in absehbarer zeit, wesentlich mehr daten werden 
, könnte man nachdenken, das ganz gleich in eine einfachen DB zu 
halten..)

von Sebastian L. (Gast)


Lesenswert?

@Robert L.

Also ich verstehe das jetzt nicht!
Wo hat er geschrieben, dass ihm CSV zu langsam ist?

Er wollte nur eine effiziente Lösung haben. und er hat Effizienz nicht 
mal definiert!

Wir wissen also nicht ob er es
- schnell
- wenig code
- wenig speicher
- besser validierbar

oder sonst wie haben möchte

Ich zu meinem Teil nutze für die meisten Daten xml.
Weil mit einem Generischen xmlreader ich mir nie wieder einen Parser 
schreiben muss und somit für jedes Projekt die gleiche objektfabrik 
nuzen kann.
Das nenne ich Code Effizienz!

Natürlich hat xml sehr großen Speicher-overhead. Also wird die 
Speichergeschwindigkeit eher von der Plattengeschwindigkeit abhängen

Zudem wissen wir gar nicht ob er die Daten nur als Backup oder zum 
regelmäßigen einlesen speichern will.

Fragen über Fragen...

Solange wir also nicht wissen was er damit tun will und wie effizient er 
es haben will, gibt es keinen grund warum xml nicht dafür in frage käme.

MfG Sebastian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.