Generar informe Excel en C#
SpreadsheetLight para Excel
Para generar nuestros informes Excel en C# utilizaremos el NuGet SpreadsheetLight.
Este NuGet nos permitirá generar documentos Excel sin usar la librería de Office, la cual nos limita a la hora de ejecutar la aplicación ya que, si la máquina donde se ejecuta esta no dispone de el paquete Office, nuestra aplicación no funcionará correctamente.
Utilizando SpreadsheetLight evitaremos que ocurra lo anteriormente mencionado.
Creación
Lo primero que haremos será agregar el NuGet SpreadsheetLight a nuestro proyecto:
Una vez hecho esto nos iremos a la clase desde donde vamos a crear y rellenar nuestro Excel.
En mi caso voy a crear un método llamado GenerarExcel() :
Como voy a generar el Excel de una lista de enfermos lo primero que haré será declararla y le daré valor:
A continuación vamos a elegir la ruta donde queremos que se guarde nuestro Excel y el nombre que este tendrá.
En mi caso lo guardaré en el directorio dentro de nuestro proyecto y lo llamaré «ExcelEnfermos.xlsx»:
Lo siguiente que haremos será crear nuestro objeto de tipo «SLDocument» el cual será nuestro Excel y además nos crearemos otro objeto de tipo «DataTable» que nos ayudará a crear la estructura del Excel para poder rellenarlo cómodamente:
Ahora que tenemos todo creado vamos a empezar a darle valores.
Lo primero que haremos será, sobre el objeto «DataTable» añadiremos las columnas que tendrá nuestro Excel y el tipo de dato que esta columna recibe:
Ahora vamos a añadir filas a nuestro «DataTable».
En mi caso al tener una lista con varios objetos de la clase «Enfermo» la recorreré con un bucle foreach:
Dentro del bucle iré añadiendo filas con sus valores:
Para terminar rellenaremos nuestro objeto «SLDocument» con nuestro «DataTable», le indicaremos la fila y la columna desde la que empezará a escribir y si las columnas tendrán de cabecera el nombre indicado previamente y lo guardaremos en nuestra ruta:
Cuando ejecutemos la aplicación y generemos el Excel con los datos que queramos se nos guardará en la ruta especificada con nuestros datos:
Miguel Rico Corrales.
Desarrollo Web Full Stack, MultiCloud y Multiplataforma.
Tajamar.
2021-2022
GitHub:
https://github.com/Miguelrc9991/PostGenerarExcel.git
Documentación: