2009-05-27 7 views
5

Ho un'app console che carica un datatable; Mi piacerebbe esportarlo in un formato Excel e allegarlo a un'e-mail che viene inviata regolarmente.Miglior scrittore Excel gratuito per C# per l'output datatable per excel

Qual è la migliore libreria da fare in modo da poter scaricare gratuitamente? Sto lavorando per un'istituzione accademica e non abbiamo un budget per i controlli di terze parti.


possibile domanda relativa: How to store data to Excel from DataSet without going cell-by-cell?

+0

Quali sono le funzionalità di Excel necessarie? Vuoi semplicemente scaricare i dati in un formato excel o hai bisogno di grafici o formule, ecc.? – Zack

risposta

12

Un'altra lib libera è CarlosAg Excel Xml Writer Library. Supporta il nuovo formato basato su xml.

Chiarimento: come stiamo parlando di MS Excel qui il nuovo formato basato su xml è MS Office XML.

+0

+1: usiamo questo e funziona come un fascino :) –

+0

Giusto per essere chiari "il nuovo formato basato su XML" non è Office Open XML (che chiamerei "nuovo"). È MS Office XML. http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats –

+0

consente la fusione delle celle? –

6

vorrei solo scrivere un file CSV sul disco rigido.

+1

+1. Quando si scaricano dati, csv è un buon modo per andare. Tanto più che puoi caricarlo facilmente anche in applicazioni che non leggono eccellentemente. I clienti di – Svish

+0

purtroppo non vogliono sempre che lo – Perpetualcoder

+0

non sia effettivamente quello che l'OP chiedeva. CSV è un'alternativa poiché Excel può importarlo, ma non imho l'opzione _best free_. –

4

Di solito uso MyXls quando non riesco a utilizzare gli strumenti commerciali per qualche motivo.

Autopromozione senza vergogna: è possibile dare un'occhiata al mio strumento SpreadsheetFactory, che è uno strumento progettato per rendere più semplice l'esportazione di raccolte IEnumerable in fogli di calcolo. Sta usando MyXls come motore xls sottostante.

2

È possibile utilizzare solo un ODBCConnection con la stringa di connessione che specifica il file del foglio di calcolo.

EDIT: ciò non richiede Excel sul server. Produrrà un file .xls che può essere letto sul computer client con MS Excel.

vedere How to store data to Excel from DataSet without going cell-by-cell? per ulteriori dettagli.

+0

Non è ancora necessario installare Excel sulla macchina? – Kieveli

+0

Non per quanto ne so. Ho usato questa tecnica su un'applicazione di importazione server prima e non credo che Excel sia installato sui nostri server. Provaci. –

+0

utilizzando OleDbConnection per creare o riempire un file Excel con dati che Excel non deve essere installato sulla macchina. – Cheeso