udistrital / polux_cliente

Cliente angular del proyecto Polux
0 stars 0 forks source link

Realizar apropiación de la herramienta excelize #635

Closed diagutierrezro closed 1 month ago

diagutierrezro commented 1 month ago

Se requiere realizar la apropiación de la herramienta excelize la cual se implementa en GO y con la que se buscan realizar los reportes requeridos por el usuario.

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

CrisEs2506 commented 1 month ago

SubTarea N°1: Apropiación de la herramienta excelize.

Repositorio Oficial

https://github.com/qax-os/excelize?tab=readme-ov-file

Documentación

https://xuri.me/excelize/es/base/installation.html

Fuentes de Referencia

Instalación

image

Modelo

Este es un ejemplo básico del equivalente a los Modelos que tenemos en 'polux_crud', aquí simplemente tenemos la estructura del objeto con el que queremos trabajar:

image

Función del Modelo

Aquí tenemos un ejemplo de una función que se colocaría en el Modelo y la cuál debería ser invocada por el Controlador (donde se envían los parametros a dicha función), en este punto y gracias al ORM se realiza la consulta SQL a la base de datos y en cada fila retornada recorremos sus columnas para agregar cada dato a nuestra estructura del modelo:

image

Esta estructura es retornada para que posteriormente se use en la función encargada de realizar el reporte en Excel.

Controlador

Del siguiente fragmento de código se toma en cuenta la importación del Modelo y la invocación de su función en la línea 15 donde se pasa los parámetros requeridos por la misma.

image

Función que construye el archivo de Excel

Inicialmente se importa Excelize, se recibe la estructura del modelo como parametro, se construye los Headers que tendrá el Excel (los títulos de las columnas del Excel), junto a su respectivo número de celda y finalmente se asigna a la hoja de cálculo.

Posteriormente, se recorre el número de objetos que tenga nuestra estructura del modelo y se llama a la función 'appendRow' la cuál es la encargada de colocar cada dato de cada objeto, en cada fila y columna correspondiente en el Excel.

image image

Finalmente indicamos la ruta en la que se quiere guardar el archivo junto a su extensión y se guarda el archivo en dicha ruta con el método 'SaveAs'.

diagutierrezro commented 1 month ago

Se realiza implementación inicial de excelize en otro issue.