excel nodejs

Crear y descargar Excel nodejs

Si estás buscando cómo crear un archivo excel nodejs y descargarlo, estás en el lugar indicado. Claro que excel debe estar en cualquier proyecto sea o no de desarrollo, Node js nos presenta una solución para poder usar nuestros datos en excel sin problema y fácil de configurar.

En este nuevo post usaremos un paquete llamado excel4node para poder crear un libro de trabajo, con una hoja de excel lista para recibir datos desde nuestra base de datos o bien, desde cualquier parte de nuestra web. Así que para comenzar te dejo algunos enlaces que vas a necesitar.

Lo que vas a necesitar

  • Excel4node: haz click aquí para ver la información del paquete que usaremos en este post.
  • Repositorio: en el video trabajo con mi código el cual te dejo listo en el repositorio para que puedas usar sin problema. Haz click aquí para ver en github.
  • file system: haz click aquí para ver la información referente a la función de borrado que creamos al final.

Instalar excel4node

cómo instalar excel4node
dual monitor macbook pro
Dual monitor macbook pro con estación de acoplamiento tobenONE uds030

Si estás buscando una solución para poder usar dual monitor macbook pro con excelente relación calid…

crear contrato solidity
Cómo crear contrato solidity: lotería en ethereum

En esta tercera sesión del curso veremos cómo crear contrato solidity para ethereum con base en una …

Qué es Gas y GasPrice: transacciones y congestión en blockchain

Cuando ejecutamos transacciones en blockchain es probable que desconozcamos los costos o tiempos de …

El primer paso claramente es la instalación y aunque en la web de npm encontraremos mucha información, aquí te voy a dejar algunos atajos par la instalación. Excel nodejs será mucho más fácil así. Primero, dentro de la terminal, escribe el siguiente comando:

npm i excel4node

Asegúrate de ya tener lista tu aplicación Nodejs y de hecho algunos paquetes ya instalados. En este proceso solo nos vamos a enfocar en el funcionamiento para excel nodejs usando excel4node. A continuación solicita el paquete y guárdalo en una variable, tal cual como todos los paquetes, así:

const xl = require('excel4node');

Este paso permitirá comenzar a usar el paquete dentro de nuestro programa. Claro que si planeas usarlo dentro de una función, debes solicitarlo en esta misma.

Crear libro de trabajo y hoja de excel

configurar excel4node

Lo primero que debemos hacer es crear la instancia del libro de trabajo (workbook) el cual contendrá toda la información, datos y hojas que crearemos. Para esto, vamos a ingresar en nuestro programa:

var wb = new xl.Workbook();

Agregar fecha al nombre del archivo

Este plus te lo dejo porque sé que lo vas a necesitar. La mayoría de estos usos es para actualizar registros o contabilidad, por ende necesitarás las fecha en ellos. Así que primero ingresa las funciones para obtener la fecha actual con getUTCDate:

let date = new Date();
let fechaDia    = date.getUTCDate();
let fechaMes    = (date.getUTCMonth()) + 1; 
let fechaAño    = date.getUTCFullYear();
let fechaHora   = date.getUTCHours();
let fechaMinuto = date.getUTCMinutes();

A continuación, inmediatamente luego de crear el libro de trabajo, podrás crear la variable del nombre del archivo incluyendo la fecha obtenida en la función anterior. A continuación, podrás crear la hoja de excel adjuntando ese nombre que hemos creado. Así:

 let nombreArchivo = "todosUsuarios" + fechaDia + "_" + fechaMes + "_" + fechaAño + ".";
 var ws = wb.addWorksheet(nombreArchivo);

Crear ruta de archivo excel

El Siguiente paso consiste en crear la ruta del archivo de excel ya que esta se usará para crear el archivo dentro de nuestro programa o repositorio local, y adicional para borrar en una función siguiente. Ahora lo primero es solicitar la ruta (path) que viene por defecto con nodejs y express (en dado caso que lo estés usando):

const path = require('path');

A continuación, el paso es crear la ruta y guardarla en una variable. Como argumentos:

  • primero agregamos dirname el cual nos permite abreviar la ruta hasta la carpeta, folder o ubicación donde está nuestro programa.
  • El segundo argumento es una carpeta que creé para que dentro de guarden los archivos de excel creados y no se combinen con los otros archivos.
  • En el tercer argumento si agregamos la variable donde guardamos el nombre de archivo con la fecha, justo arriba.
  • Por último, agregamos la extensión del archivo excel.
const pathExcel = path.join(__dirname, 'excel', nombreArchivo + '.xlsx');

Crear, descargar y borrar excel

función crear, borrar y descargar archivo excel desde node js

Esta función se divide en 3 pasos. El primer paso es escribir o crear el archivo DENTRO de nuestro programa o repositorio local. Usando la siguiente línea de código:

wb.write(pathExcel, function(err, stats){
        if(err) console.log(err);
        else{
// aquí van las siguientes partes

Como lo notamos, solo se necesita la ruta donde se creará el archivo excel. Claro que necesita la función callback donde si tiene un error lo mostrará, de lo contrario procedemos a descargar.

Descargar y borrar archivo excel

Estos dos los creamos juntos, o bueno los creo juntos porque a medida que descargamos, crea un nuevo archivo por ende ocupa almacenamiento que tal vez no será necesario. Por esto, ejecuto la función de borrado inmediatamente luego de descargar. Pero bueno primero descargamos con:

function downloadFile(){res.download(pathExcel);}
downloadFile();

Primero creamos la función con la ruta del archivo la cual es donde se encuentra justo luego de escribir o crearlo. A continuación, ejecutamos la función y listo! ya estará en tu computador en el folder de descargas.

Ahora procederemos a borrar el archivo que se creó en el repositorio local o folder de tu programa el cual si o si debes eliminar ya que en producción, se incrementará cada vez que se solicite descargar. Para la función de borrar, ingresa la siguiente línea:

 fs.rm(pathExcel, function(err){
                if(err) console.log(err);
                else  console.log("Archivo descargado y borrado del servidor correctamente");
            });

En la anterior función, uso fs (file system) el cual viene por defecto con node js para administrar estos archivos locales o producción. Uso adicional .rm (remove) porque elimina eficazmente los archivos solicitados no solamente localmente sino en producción. Claramente probado.

Si quieres ver más información de file system, en la primera parte del post podrás encontrar el enlace. Ahora todo está listo para proceder a crear los datos que se ingresarán en el excel.

Crear estilos

excel4node estilos

Los estilos permiten modificar la tipografía de los datos que se ingresan a la hoja de excel. Estos son usados o ingresados como argumentos al crear dato por dato. Primero vamos a crear los estilos. Claramente puedes modificarlos a tu gusto:

var cualColumnaEstilo = wb.createStyle({
        font: {
            name: 'Arial',
            color: '#000000',
            size: 12,
            bold: true,
        }
    });

    var contenidoEstilo = wb.createStyle({
        font: {
            name: 'Arial',
            color: '#494949',
            size: 11,
        }
    });

Crear datos

crear datos excel4node

El comando es sencillo, pero si se deben analizar ciertos pasos. Primero ingresemos un ejemplo:

ws.cell(1, 1).string("Nombre").style(cualColumnaEstilo);
  • Ubicación: dentro del primer paréntesis encontrarás las coordenadas de la celda a escribir. En el caso anterior, fila 1, columna 1.
  • Tipo de dato: si el dato es string o number, debes asignarlo a cada dato ingresado.
  • Dato: dentro del segundo paréntesis, ingresa el dato que irá dentro de la celda.
  • Estilo: por último, ingresa uno de los estilos creados anteriormente.

Ahora si tienes cientos o miles de datos a ingresar en la tabla de excel, es probable que necesites usar foreach o for en el proceso para poder crearlos. Para este proceso hice el video a continuación donde te guío en el proceso completo y uso ambos ejemplos para un arreglo de objetos. Espero que te guste!

Video de ayuda

excel4node youtube

Producto sugerido

Si eres como yo que pasa bastatne tiempo frente al compu, puede que la barra de luz te sirva bastante para cuidar tu vista en esas largas jornadas. También te dejo aquí el post para que veas la reseña completa.

LAMPARA – 4528 valoraciones

Quntis Lámpara para monitor de computadora, barra de luz para monitor de pantalla para el cuidado de los ojos, lámpara de tareas LED de lectura electrónica con atenuación automática, barra de lámpara regulable, control táctil, sin deslumbramiento de pantalla, ahorro de espacio, lámparas de escritorio para oficina en casa

  • Sin reflejos de pantalla y sin parpadeo, antiluz azul: la barra de luz para monitor de computadora Quntis tiene un diseño óptico asimétrico único que ilumina solo tu escritorio y teclado mientras garantiza que no se reflejen en la pantalla. Gracias a su avanzado sistema de protección ocular, nuestras lámparas de escritorio para oficina en casa bloquean la luz azul y la radiación óptica, aliviando eficazmente la fatiga ocular para proteger tus ojos. Es la opción ideal para estudiantes, diseñadores de pintura y trabajadores de oficina de negocios.

VER EN AMAZON

Conclusión

Node js nos permite crear increíbles aplicaciones y si a esto, necesitamos descargar información clave de la base de datos y luego guardarlos en excel, excel4node es la mejor solución sin duda alguna.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 3.3 / 5. Recuento de votos: 3

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

Resumen
Excel Nodejs | Crea y descarga un archivo excel con Node Js ✅
Nombre del artículo
Excel Nodejs | Crea y descarga un archivo excel con Node Js ✅
Descripción
Si estás buscando cómo crear un archivo excel nodejs y descargarlo, estás en el lugar indicado. Haz click aquí para conocer cómo ✅
Autor
Publisher Name
Eduardo Arias
Publisher Logo

Deja un comentario

Carrito de compra