2015-06-01 13 views
10

Ja, Koogra liest nur. EPPlus unterstützt nur .xlsx und ist in Randfällen fehlerhaft.Was ist allgemein bekannt über NPOI, EPPlus und Koogra ab 2015?

  • Was sonst sollte man wissen, um zwischen ihnen zu wählen?
  • Ist einer von ihnen viel langsamer als andere?
  • NPOI scheint viel zu kompliziert und ist ein Java-Port, also ist es wert?
  • Sollte man EPPlus für .xlsx und NPOI für .xls verwenden?
  • Was ist das allgemeine Wissen über sie heute?

Antwort

7
  1. 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.
  2. Keine Bibliothek unterstützt XLS B.
  3. 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.
  4. 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.
  5. 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.
  6. NPOI ist kompliziert, 5 dls von 4 MB. Koogra und EDR sind einfach, 200 KB und zwei dlls (sich selbst und zip).
  7. 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.
  8. 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.

+0

Warum EPPlus für .xlsx, wenn EDR schneller liest, wie Sie in 3. gesagt haben? – titol

+1

@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. –

+0

['Koogra'] (https://sourceforge.net/projects/koogra/) scheint nicht gepflegt zu sein. – xmedeko