Sitemap

Creando archivos Excel en Xamarin Forms

4 min readAug 5, 2020

--

Press enter or click to view image in full size

¡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

Press enter or click to view image in full size

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:

Press enter or click to view image in full size

➖ 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!

Press enter or click to view image in full size

📄 Archivo de Excel generado

Press enter or click to view image in full size

¡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í.

--

--

Leomaris Reyes
Leomaris Reyes

Written by Leomaris Reyes

I'm Leomaris Reyes, Microsoft MVP from the Dominican Republic, with more than 6 years of experience in Software Development. ❤