In una delle nostre applicazioni ASP.NET in C #, prendiamo una determinata raccolta di dati (raccolta SubSonic) ed esportiamo in Excel. Vogliamo anche importare file Excel in un formato specifico. Sto cercando una biblioteca che posso usare per questo scopo.
Requisiti:
- File Excel 2007 (Excel 2003 supporta oltre 64k righe? Ne ho bisogno di più.)
- Non richiede Excel sul server
- Prende una raccolta digitata e, se possibile, prova a mettere i campi numerici come numerici in Excel.
- Funziona bene con file di grandi dimensioni (da 100k a 10M) - abbastanza velocemente.
- Non si arresta in modo anomalo durante l'esportazione di GUID!
- Non costa un sacco di soldi (nessuna biblioteca aziendale come Aspose). Free è sempre fantastico, ma può essere una libreria commerciale.
Quale biblioteca mi consigliate? L'hai usato per grandi quantità di dati? Ci sono altre soluzioni?
In questo momento, sto usando un semplice strumento che genera HTML che verrà successivamente caricato da Excel, ma sto perdendo alcune funzionalità, inoltre Excel si lamenta quando viene caricato. Non ho bisogno di generare grafici o cose del genere, solo esportare dati grezzi.
Sto pensando a file CSV piatti, ma Excel è un requisito del cliente. Posso lavorare direttamente con CSV, se avessi uno strumento per convertire da e verso Excel. Dato che Excel 2007 è un formato di file basato su XML (e zippato), immagino che questo tipo di libreria dovrebbe essere facile da trovare. Tuttavia, ciò che conta di più per me sono i tuoi commenti e opinioni.
EDIT: Ironicamente, secondo me e seguendo la risposta con il maggior numero di voti, la migliore libreria di importazione ed esportazione di Excel non è affatto esportazione. Questo non è il caso di tutti gli scenari, ma è mio. I file XLS supportano solo 64k righe. XLSX supporta fino a 1M. Le librerie gratuite che ho provato presentano cattive prestazioni (un secondo per caricare una riga quando hai 200k righe). Non ho provato quelli a pagamento, poiché ritengo che siano troppo cari per il valore che offrono quando tutto ciò di cui hai bisogno è una rapida routine di conversione CSV XLSX <->.