Este proyecto alberga una API Node.js desarrollada con Express que ofrece dos endpoints principales: /generate/excel
y
/download
. El propósito de este proyecto es permitir a los usuarios generar archivos Excel a partir de los datos
proporcionados y descargar esos archivos mediante el paquete @bggroup/excel.
Para utilizar esta API en su proyecto, siga los siguientes pasos:
-
Clone este repositorio en su sistema local.
-
Instale las dependencias ejecutando el siguiente comando en el directorio
/api
yproject
:npm install
-
Inicie el servidor ejecutando el siguiente comando en la raíz:
beyond run --inspector 4000
Luego, vaya al workspace de beyond seleccione api y ejecute la distribución de Node.
Ahora, puede acceder a los endpoints /generate/excel
y /download
para generar archivos Excel y descargarlos,
respectivamente.
La función generateExcel
es una manejadora de solicitudes POST en una aplicación Node.js que utiliza Express. Su
objetivo es crear archivos Excel basados en los datos proporcionados en el cuerpo de la solicitud y responder con la
ubicación del archivo generado en caso de éxito. A continuación, se describe brevemente su implementación:
- La función extrae los parámetros necesarios del cuerpo de la solicitud, como los datos de las hojas de trabajo y el nombre del archivo.
- Realiza una validación para asegurarse de que los parámetros requeridos (
sheetData
yfilename
) estén presentes. - Utiliza la clase
ExcelHandler
de@bggroup/excel
para crear el archivo Excel con los datos y encabezados proporcionados. - Responde con un mensaje de éxito y la ubicación del archivo Excel generado si la operación se realiza con éxito.
- En caso de errores, captura las excepciones y responde con un mensaje de error junto con los detalles del error.
Ejemplo de solicitud POST:
POST http://localhost:1080/generate/excel
Content-Type: application/json
{
"sheetData": [
/* Datos de las hojas de trabajo */
],
"filename": "nombre_del_archivo.xlsx",
"options": {
// Opciones de escritura del archivo (opcional)
}
}
El método download
es una función diseñada para gestionar la descarga de archivos y la eliminación posterior del
archivo descargado. Esta función está diseñada para ser utilizada en un servidor Node.js con Express.
pathFile
(String): La ubicación del archivo a descargar.filename
(String): El nombre del archivo que se mostrará al descargar.
El método download
se utiliza para descargar un archivo y eliminarlo después de la descarga.
Comportamiento:
- Verifica la existencia del archivo especificado en los parámetros.
- Si el archivo no existe, responde con un estado HTTP 404 ("No encontrado").
- Si el archivo existe, inicia la descarga del archivo especificado.
- Después de la descarga exitosa, intenta eliminar el archivo.
- Si la eliminación tiene éxito, el archivo se elimina del sistema de archivos.
- Si se produce algún error durante la descarga o eliminación, se envía una respuesta de estado HTTP 500 con un mensaje de error.
Ejemplo de solicitud GET:
GET /download?pathFile=/ruta/al/archivo.xlsx&filename=archivo_descargado.xlsx