Ho bisogno di creare un file excel tramite C#. Ho letto alcuni punti in cui la creazione di un documento XML è il modo più semplice per farlo? Devo avere più schede con nome ed essere in grado di specificare che determinate celle sono testo, data, numerico, ecc. Qualche suggerimento o buon esempio?Creazione di file Excel con C#
risposta
è necessario il System.IO.Packaging API - questo vi permetterà di generare documenti .xlsx come descritto in Inserting Values into Excel 2007 Cells. Il formato Excel 2007 può anche essere utilizzato da Excel 2003 e XP con l'installazione gratuita di Microsoft Office Compatibility Pack.
Date un'occhiata a NPOI:
Questa è stata anche abbastanza ben coperto altrove su SO:
Usiamo una suite chiamata Aspose sul posto di lavoro. Ha un grande componente "Cells" completo che fa miracoli per noi.
http://epplus.codeplex.com/ - Dai un'occhiata a questo progetto, i suoi beens mi hanno aiutato così tanto. Ho trovato questo link su: https://stackoverflow.com/questions/170652/whats-the-best-net-library-for-parsing-and-generating-excel-spreadsheets
Visual Studio Tools per Office è un bel modo per farlo
Questo è frustrante difficile da fare, come il meccanismo raccomandato da Microsoft comporta l'uso Office, che va bene sul desktop ma inutile per il web.
Il formato binario di .xls
file è proprietà, così Microsoft ha introdotto .xlsx
file OpenXML di Office 2007.
Il .xslx
è presumibilmente semplice - è solo un contenitore pieno di zip file XML. È possibile aprirlo con System.IO.Packaging
e modificarlo con System.Xml
. C'è anche un pacchetto di compatibilità per le versioni precedenti di Office.
Sfortunatamente non è semplice: il formato di .xslx
è horrible beyond words.
Sembra che abbiano preso il formato binario ottimizzato a 16 bit .xls
(progettato originariamente per Windows 3.1) e lo abbia serializzato in XML anziché in binario. Quindi hanno aggiunto cambiamenti davvero stupidi, come i commenti delle celle in realtà sono VML - un formato apparentemente abbandonato con IE5! Hanno anche aggiunto un sacco di numeri magici e metadati all'XML in modo da non poter utilizzare alcun tipo di trasformazione su di esso, quindi stai analizzando il pollone a mano.
Infine hanno reso un asino completo per eseguire il debug e troviamo regolarmente i file .xslx
che il pacchetto di compatibilità segnala come corrotti (nessun motivo fornito) ma che la versione recente di Office può aprire correttamente.
C'è una bella libreria open source per questo: SpreadsheetLight. È una libreria molto buona, ma tutto ciò che richiede di approfondire e estendere i file .xslx
sarà doloroso.
- 1. Creazione di file Excel (.xlsx) in Cocoa
- 2. Download di file Excel dopo la creazione utilizzando EPPlus
- 3. Creazione grafico di Excel da file di testo
- 4. Creazione di file XLS di Excel su iOS
- 5. eliminazione di righe da un file Excel con C#
- 6. Creazione di un documento Excel con OpenXml sdk 2.0
- 7. Objective-c: data di creazione del file
- 8. Blocca colonna excel con C#
- 9. Impossibile salvare il file Excel utilizzando C#
- 10. Impossibile aprire il file in Excel C#
- 11. File data di creazione in C#
- 12. Creazione di grafici Excel in Java
- 13. Ridenominazione di file con Excel VBA
- 14. Creazione di un percorso file in C#
- 15. Creazione di un file vuoto in C#
- 16. Creazione di file in Objective-C
- 17. Password Protezione di un file Excel in C#
- 18. Creazione istanza di interfaccia in C#
- 19. NullReferenceException nella creazione di un foglio di lavoro Excel
- 20. Creazione di foglio di Excel da modello in Java, le nuove versioni di Excel
- 21. Utilizzo di Python, scrivere un file Excel con colonne copiate da un altro file Excel
- 22. Creazione di più fogli in file CSV
- 23. C# Converti il file Excel 2007 (xlsx) nel file Excel 2003 (xls)
- 24. esportazione in Excel C#
- 25. Creazione di un servizio REST con C#
- 26. Utilizzo di C# per leggere/scrivere file Excel (.xls/.xlsx)
- 27. Formattazione condizionale in Excel con C#
- 28. C# ed Excel interop
- 29. Rileva creazione file con watchdog
- 30. Creazione file csv con php
@ wcoenen -nice modifiche, grazie. – Murph
C'è qualche esempio su come creare un Excel con 'System.IO.Packaging'? Non riesco a trovare nulla nella documentazione che si occupa di Excel. –
@IanBoyd c'è un modo migliore (ora) andare a cercare su ClosedXML - che puoi trovare qui: http://closedxml.codeplex.com/ – Murph