Necesito crear un archivo de Excel a través de C#. He leído algunos lugares que la creación de un documento XML es la manera más fácil de hacer esto? Necesito tener varias pestañas con nombre y ser capaz de especificar que las celdas en particular son texto, fecha y hora, numéricos, etc. ¿Alguna sugerencia o buenos ejemplos?Creación de archivos de Excel con C#
Respuesta
Se necesita el API System.IO.Packaging - esto le permitirá genere documentos .xlsx como se describe en Inserting Values into Excel 2007 Cells. El formato de Excel 2007 también puede ser utilizado por Excel 2003 y XP con el Microsoft Office Compatibility Pack gratuito instalado.
Tome un vistazo a NPOI:
Esto también ha sido bastante bien cubierto en otra parte de SO:
Utilizamos una suite llamada Aspose en el trabajo. Tiene un gran componente de "Células" con todas las funciones que funciona de maravilla para nosotros.
http://epplus.codeplex.com/ - Echa un vistazo a este proyecto, me ha estado ayudando mucho. He encontrado este enlace en: https://stackoverflow.com/questions/170652/whats-the-best-net-library-for-parsing-and-generating-excel-spreadsheets
Visual Studio Tools para Office es una buena manera de hacerlo
Esto es frustrante y difícil de hacer, como mecanismo recomendado de Microsoft implica el uso Office, que está bien en el escritorio pero inútil para la web.
El formato binario de los archivos .xls
es propiedad, por lo que Microsoft introdujo .xlsx
archivos OpenXML en Office 2007.
El .xslx
supuestamente es sencilla - es sólo un recipiente con cierre completo de archivos XML. Puede abrirlo con System.IO.Packaging
y editarlo con System.Xml
. Incluso hay un paquete de compatibilidad para versiones anteriores de la oficina.
Lamentablemente, simplemente no es simple: el formato de .xslx
es horrible beyond words.
Parece que tomaron el formato binario optimizado de 16 bits .xls
(diseñado originalmente para Windows 3.1) y lo serializaron en XML en lugar de en formato binario. Luego agregaron cambios realmente estúpidos, como los comentarios de la celda en realidad son VML - ¡un formato supuestamente descartado con IE5! También han agregado un montón de números mágicos y metadatos al XML para que no puedas usar ningún tipo de transformaciones en él, así que estás analizando ese lechón a mano.
Finalmente lo han convertido en un burro completo para depurar, y regularmente encontramos .xslx
archivos que el paquete de compatibilidad informa como corruptos (sin razón aparente) pero esa versión reciente de Office puede abrirse bien.
Hay una muy buena biblioteca de código abierto por ahí: SpreadsheetLight. Es una biblioteca muy buena, pero cualquier cosa que requiera que profundices y amplíes los archivos .xslx
será doloroso.
- 1. Creación programática de archivos de Excel en C++
- 2. Creación de complemento para Excel utilizando C#
- 3. Lectura de archivos de Excel con xlrd
- 4. Renombrar archivos con Excel VBA
- 5. python: creación de libros de Excel y volcado de archivos csv como hojas de cálculo
- 6. Detectar la creación de archivos con watchdog
- 7. Biblioteca C++ para cargar archivos Excel (.xls)
- 8. la creación de grandes hojas de Excel mediante programación
- 9. Creación de archivos con algún contenido con script de shell
- 10. Creación de instancia de interfaz en C#
- 11. Colmena: creación de tablas con varios archivos con múltiples directorios
- 12. Creación de archivos temporales en Android con NDK
- 13. Creación de hoja de Excel de la plantilla en Java, las nuevas versiones de Excel
- 14. Columna Freeze Excel con C#
- 15. Creación de un servicio REST con C#
- 16. Creación de miniaturas de archivos de video con Python
- 17. Creación de archivos grandes en Windows
- 18. Creación de archivos Zip desde Memory Stream C#
- 19. Lectura de archivos grandes de Excel con PHP
- 20. Objective-C - Desventajas de la creación de puentes con C++?
- 21. Obtener tiempo de creación de archivos con Python en linux
- 22. Obtener tiempo de creación de archivos con Python en Mac
- 23. Problemas con la creación de archivos de película en MATLAB
- 24. Creación de archivos MP4/M4A con marcas de capítulo
- 25. Gráficos de Excel + C#
- 26. Lectura y escritura de archivos de Excel con Ruby en un servidor sin Excel instalado
- 27. ¿Puedo generar archivos de Excel con gráficos nativos de Excel en Linux?
- 28. Combinar archivos de Excel en uno
- 29. Creación mediante programación de hojas de Excel 2007
- 30. Creación de fuentes y archivos de documentos
@wcoenen -nice ediciones, gracias. – Murph
¿Hay algún ejemplo de cómo crear un Excel con 'System.IO.Packaging'? No puedo encontrar nada en la documentación que trata con Excel. –
@IanBoyd hay una manera mejor (ahora) de ver ClosedXML, que puede encontrar aquí: http://closedxml.codeplex.com/ – Murph