Jet/ACE OLE DB
sia leggere foglio di lavoro come stringhe, o come colonne digitati, in modo che sia perdere i numeri di precisione o è necessario che le intestazioni in prima fila. Quindi, devono essere evitati.
- Nessuna libreria supporta XLS B.
- Velocità.
- Per una grande XLS, il tempo di lettura per
NPOI
: Jet
: Koogra
: EDR
è 14: 8: 7: 5.
- Per lo stesso XLS X, il tempo per
EPPlus
: NPOI
: Koogra
: EDR
è 52: 36: 20: 16.
- Per file relativamente piccoli con molte schede
EPPlus
può essere un po 'più veloce di EDR
.
- errori (# DIV/0 !, # valore!), Ecc
EDR
e Koogra
non supportano esplicitamente gli errori. EDR
li legge come al solito stringhe, Koogra
- come celle vuote.
NPOI
e EPPlus
fare.
- Koogra legge date come numeri di [OLE date] e sono indistinguibili dai numeri reali. Inoltre a volte legge numeri con cifre decimali diverse in modo errato.
EDR
ottiene questa multa. Quindi, no a Koogra
.
NPOI
è complicato, 5 dll di 4 MB. Koogra
e EDR
sono semplici, 200 KB e due DLL (loro stessi e zip) ciascuno.
EDR
funziona come IDataReader
, quindi legge i dati in modo sequenziale. Ha anche una funzione integrata per ottenere un DataSet
. Con la lettura sequenziale puoi solo passare attraverso il primo foglio nel libro di lavoro. Koogra
supporta l'accesso casuale a celle e fogli.
EDR
è basato su SharpZip
, Koogra
è basato su Ionic.Zip
. Il primo consente di aprire un file da .zip a Stream
che può essere utile per altre parti del progetto.
Non ho guardato la scrittura gli aspetti della NPOI
, quindi senza la necessità di distinguere gli errori, vorrei andare con EPPlus
per .xlsx e con EDR per la lettura .xls.
fonte
2015-06-02 09:52:29
Perché EPPlus per .xlsx se l'EDR sta leggendo più velocemente, come hai detto in 3.? – titol
@titol Bene, perché l'ho già testato e anche perché EDR è più veloce per file molto molto grandi, circa 100 megabyte. Per file più piccoli di circa 2 megabyte, EPPlus è più veloce. E funziona solo, non è necessario avvolgere DataSet di EDR in un proprio modello di dati simile a Excel. –
['Koogra'] (https://sourceforge.net/projects/koogra/) sembra non mantenuto. – xmedeko