Creando archivos Excel en Xamarin Forms
¡Hola! 💁♀ Es un placer tenerte aquí de nuevo, esta vez aprenderemos sobre un tema muy interesante y útil: Generar / Crear archivos Excel para nuestras aplicaciones en Xamarin Forms. Me imagino que en algún momento de tu vida como desarrollador@ te has preguntado cómo hacerlo, ¡Esa es la razón de esta publicación!
Dividiremos este artículo en los siguientes temas:
🔹 Trabajando con los modelos
— Estructuras de modelos de Excel y de Contacto
🔹 Creando la clase que maneja la información en el archivo de Excel
🔹 Integración con el ViewModel
🔹 Creación de un botón de para la exportación del archivo
Primero que nada … ¿Qué necesito?
Agrega el NuGet Package llamado: DocumentFormat.OpenXml
Si deseas leer más sobre este NuGet Package puedes ingresar aquí.
Para comprender mejor las partes de un archivo de Excel puedes leer este artículo.
¡Empecemos!
📗 Trabajando con los modelos
Lo primero que tenemos que hacer es crear una carpeta para los modelos (Models). Una vez creada agreguemos dos modelos: Uno es para la estructura de Excel y el otro es solo para los datos que usaremos para mostrar nuestra implementación en este caso un modelo de Contacto.
➖ Generando el modelo del Excel
Cómo puedes ver en el código solo necesitas agregar los atributos de Encabezado (Header) y valores (Values), que son los elementos principales que conforman un archivo de Excel.
➖ Generando el modelo de Contactos
Este modelo es solo para mostrar la implementación, aquí puedes reemplazarlo por el Modelo que deseas exportar más adelante en el archivo de Excel.
📗 Creando la clase que maneja la información en el archivo de Excel
Ahora creemos una carpeta de Service y dentro de ella agreguemos una clase llamada ExcelServices.cs. En este bloque detallaré paso a paso cómo construirlo.
➖ Paso 1: Declarando las variables
➖ AppFolder es responsable de proveer la ubicación de la carpeta en donde se guardará el archivo. Si estás probando desde un computador puedes encontrar los archivos creados en la siguiente ubicación:
➖ Y finalmente estás creando la estructura de la celda (Cell).
➖ Paso 2: Creando el generador del Excel
Esta clase es responsable de crear toda la estructura del libro de trabajo (workbook) y guardarla en la carpeta de aplicaciones declarada anteriormente. A esta altura ya tienes el archivo creado con la estructura base del workbook pero todavía no verás los datos reflejados en el archivo.
➖ Paso 3: Creando la clase responsable de insertar datos en el archivo de Excel
En este momento tu clase ExcelService debe tener la siguiente estructura:
Get Leomaris Reyes’s stories in your inbox
Join Medium for free to get updates from this writer.
Inicio de ExcelService
Paso 1: Declarando las variables
Paso 2: Creando el generador del Excel
Paso 3: Creando la clase responsable de insertar datos en el archivo Excel
Fin de ExcelService
📗 Integración con el ViewModel
Creemos una carpeta ViewModel, en este caso el nombre de mi ViewModel es ExportingExcelViewModel, luego de creado comencemos a agregar los siguientes bloques de código.
➖ Paso 1: Declarando las variables
Necesitaremos un comando para ser utilizado más tarde en un botón, la clase excelService y finalmente la lista de contactos para llenar el Excel con datos de prueba.
➖ Paso 2: Trabajando con el constructor
Ahora agreguemos los datos de prueba en el constructor, esta información se usará para exportar como valores en el archivo de Excel. No olvides crear la instancia de la clase ExcelService. 😁
➖ Paso 3: Finalmente creemos el método ExportToExcel()
En este método solo tienes que agregar el nombre de archivo y llamar al método GenerateExcel(). Luego agrega los encabezados y los valores que vas a exportar. Utiliza el método InsertDataIntoSheet y finalmente puedes usar el Launcher de Xamarin Essentials para abrir el archivo Excel. Si quieres saber más información sobre el Launcher puedes ingresar aquí.
📗 Creando el botón para exportar
🎊 Listo!! 🎊 Veamos!
📄 Archivo de Excel generado
¡Gracias por leer mi artículo! 💚
Para ver la estructura completa del código, puede ingresar a mi repositorio de Github. https://github.com/LeomarisReyes/ExcelFilesCreator
Artículo en inglés: https://askxammy.com/getting-started-with-excel-files-creation-in-xamarin-forms/
Referencias: Inspirada del artículo de Luis Beltran. Les dejo la referencia aquí.









