Jet/ACE OLE DB
entweder Arbeitsblatt als Strings lesen oder als typisierte Spalten, also entweder Sie Zahlen Präzision verlieren, oder Sie müssen Header in der ersten Reihe haben. Daher sind sie zu vermeiden.
- Keine Bibliothek unterstützt XLS B.
- Geschwindigkeit.
- Für eine große XLS, zur Zeit der
NPOI
zum Lesen: Jet
: Koogra
: EDR
beträgt 14: 8: 7: 5.
- Aus derselben XLS X, die Zeit für
EPPlus
: NPOI
: Koogra
: EDR
beträgt 52: 36: 20: 16.
- Für relativ kleine Dateien mit vielen Registerkarten
EPPlus
kann ein bisschen schneller sein als EDR
.
- Fehler (# DIV/0 !, #VALUE!) Usw.
EDR
und Koogra
nicht explizit Fehler unterstützen. EDR
liest sie als normale Zeichenfolgen, Koogra
- als leere Zellen.
NPOI
und EPPlus
tun.
- Koogra liest Daten als [OLE Datum] Nummern und sie sind nicht von reellen Zahlen unterscheidbar. Manchmal liest es auch Zahlen mit vielen Dezimalziffern falsch.
EDR
bekommt das gut. Also, nein zu Koogra
.
NPOI
ist kompliziert, 5 dls von 4 MB. Koogra
und EDR
sind einfach, 200 KB und zwei dlls (sich selbst und zip).
EDR
arbeitet als IDataReader
, also liest es Daten sequentiell. Es hat auch eine eingebaute Funktion, um eine DataSet
zu bekommen. Beim sequentiellen Lesen kann nur das erste Blatt im Arbeitsbuch durchlaufen werden. Koogra
unterstützt den wahlfreien Zugriff auf Zellen und Blätter.
EDR
basiert auf SharpZip
, Koogra
basiert auf Ionic.Zip
basiert. Ersteres ermöglicht das Öffnen einer Datei von .zip a Stream
, die für andere Teile des Projekts nützlich sein kann.
Ich habe nicht schriftlich Aspekte NPOI
sehe, so ohne die Notwendigkeit, Fehler zu unterscheiden, ich mit EPPlus
für XLSX und mit EDR zum Lesen .xls gehen würde.
Warum EPPlus für .xlsx, wenn EDR schneller liest, wie Sie in 3. gesagt haben? – titol
@titol Nun, weil ich es bereits getestet hatte, und auch, weil EDR für sehr sehr große Dateien schneller ist, etwa 100 Megabyte. Bei kleineren Dateien um 2 Megabyte ist EPPlus schneller. Und es funktioniert einfach, Sie müssen EDRs DataSet nicht in ein eigenes Excel-ähnliches Datenmodell umwandeln. –
['Koogra'] (https://sourceforge.net/projects/koogra/) scheint nicht gepflegt zu sein. – xmedeko