3ENGINE

Programación y otros cachivaches

Etiqueta: office

Tecnologia

Cómo generar archivos Excel en C# con Open XML


Office Open XML es un formato de archivo abierto y estándar cuyas extensiones más comunes son .docx, .xlsx y .pptx. Principalmente contiene datos en XML comprimidos en un .zip. .NET dispone de librerias capaces de trabajar con este formato y de esta manera prescindir de instalar Office y sus temidas Microsoft.Office.Interop.

Generar archivos Excel en C# con Open XML

Para la demo es necesario instalar el paquete DocumentFormat.OpenXml:

generar archivos Excel en C# con Open XML

O desde la consola de Nuget:

El código es el siguiente:

Para mi demo los datos que deseo guardar en el archivo Excel los tengo en un DataTable. Al método BuildExcel se le pasa el DataTable con los datos y la ruta completa del archivo Excel a generar. El método CreateSheetData se encarga de leer los datos del DataTable y generar las celdas. El nombre de la hoja Excel se obtiene del nombre de la tabla.

Se trata de un código sencillo pero que puede servir como punto de partida.

Y ahora una pequeña demo:

Y el archivo generado:

generar archivos Excel en C# con Open XML

Enlace a la demo: SaveExcel.zip




Tecnologia

Ejecutar una macro externa en un .csv de Excel y grabar el resultado en formato .xls de Excel


Si necesitais darle un poco de vida y colorido a un fichero en formato .csv de Excel. Quizas os sirva este ejemplo. Se trata de ejecutar una macro previamente grabada para darle un nuevo formato a la hoja Excel (colorear columnas, cambiar de tamaño las letras, crear gráficos, etc…) para despues grabar el resultado en formato .xls. Comparto este código escrito en c# por si puede ser útil.

Requisito 1: antes de ejecutar el código es importante habilitar la opción «Confiar en el acceso a proyectos de Visual Basic» en la pestaña «Editores de confianza» que se encuentra en Herramientas>Macro> Seguridad.

Requisito 2: debeis tener instaladas las PIAS para Excel.

Código:

Referencias:
Enlace 2
Enlace 1




Tecnologia

Ocultar/mostrar filas/columnas en un documento Excel


Puedes ocultar o mostrar filas y/o columnas Excel con estas siguientes combinaciones de teclas:

  • Ocultar Fila:     Ctrl + 9
  • Mostrar Fila:     Ctrl + Shift + 8
  • Ocultar Columna:  Ctrl + 0
  • Mostrar Columna:  Ctrl + Shift + 9