ExcelJS para JavaScript (Node.js): guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

ExcelJS para JavaScript (Node.js): Guía completa para crear y parsear archivos Excel

1. ¿Qué es ExcelJS y por qué usarla?

ExcelJS es una librería potente y flexible para JavaScript, diseñada para trabajar con hojas de cálculo en formatos Excel (XLSX, XLSM, CSV y otros). Funciona tanto en entornos Node.js como en navegadores (a través de empaquetadores de módulos como Webpack o Browserify). ExcelJS permite a los desarrolladores crear, leer, modificar y analizar archivos Excel de forma programática, sin necesidad de tener instalado Microsoft Excel.

¿Para qué sirve ExcelJS? En el desarrollo web moderno y la automatización de procesos empresariales, Excel sigue siendo uno de los formatos más populares para el intercambio de datos. Informes, exportaciones de bases de datos, documentos financieros, listas de precios, estadísticas... todo esto a menudo necesita exportarse a Excel. La librería ExcelJS ofrece un conjunto completo de herramientas para estas tareas: desde crear una tabla simple con datos hasta informes complejos con celdas combinadas, estilos, fórmulas, gráficos y formato condicional. Además, puede analizar (leer) archivos Excel existentes, lo que permite automatizar la importación de datos desde tablas.

Ventajas clave de ExcelJS frente a alternativas (como xlsx de SheetJS):

  • Soporte de estilos: colores, fuentes, bordes, alineación, relleno.
  • Trabajo con fórmulas: lectura y escritura de fórmulas.
  • Formato condicional: cambio de apariencia de celdas según su valor.
  • Gráficos: creación de gráficos y diagramas.
  • Imágenes: inserción de imágenes en las hojas.
  • Procesamiento por flujo: trabajo con archivos grandes sin cargarlos completamente en memoria.
  • Soporte activo: la librería se actualiza regularmente y cuenta con una gran comunidad.

2. Instalación

La instalación de ExcelJS en un proyecto Node.js se realiza con el gestor de paquetes npm. Abre la terminal en la carpeta raíz de tu proyecto y ejecuta el comando:

npm install exceljs

Una vez finalizada la instalación, puedes importar la librería en tu código:

const ExcelJS = require('exceljs');

Si usas módulos ES (sintaxis moderna import/export), asegúrate de tener el flag "type": "module" en tu package.json, o usa la extensión de archivo .mjs:

import ExcelJS from 'exceljs';

3. Inicio rápido — ejemplo mínimo funcional

Vamos a crear un archivo Excel simple con una tabla y guardarlo en el disco. Este ejemplo muestra los pasos básicos: crear un libro de trabajo, añadir una hoja, escribir datos y guardar.

const ExcelJS = require('exceljs');

async function crearExcelSimple() {
    // 1. Crear un nuevo libro de trabajo
    const workbook = new ExcelJS.Workbook();
    
    // 2. Añadir una hoja con nombre "Mis datos"
    const worksheet = workbook.addWorksheet('Mis datos');
    
    // 3. Definir las columnas (encabezados)
    worksheet.columns = [
        { header: 'ID', key: 'id', width: 10 },
        { header: 'Nombre', key: 'name', width: 30 },
        { header: 'Edad', key: 'age', width: 10 },
        { header: 'Ciudad', key: 'city', width: 20 }
    ];
    
    // 4. Añadir filas con datos
    worksheet.addRow({ id: 1, name: 'Ana García', age: 28, city: 'Madrid' });
    worksheet.addRow({ id: 2, name: 'Pedro López', age: 35, city: 'Barcelona' });
    worksheet.addRow({ id: 3, name: 'Elena Martínez', age: 22, city: 'Valencia' });
    
    // 5. Guardar el libro en un archivo
    await workbook.xlsx.writeFile('output.xlsx');
    console.log('¡Archivo output.xlsx creado con éxito!');
}                    

Recommendations