Excel.js: Tutorial Completo para Trabajar con Archivos Excel

Excel.js: Tutorial Completo para Trabajar con Archivos Excel

Excel.js es una biblioteca de JavaScript poderosa y flexible que te permite leer, escribir y manipular archivos de Excel de forma fácil y eficiente. Esta biblioteca te proporciona un control granular sobre los archivos de Excel, permitiéndote realizar operaciones complejas como la creación de nuevos archivos, la edición de datos existentes y la aplicación de estilos.

En este tutorial completo, te guiaremos a través de los conceptos básicos de Excel.js, desde la instalación hasta la realización de tareas avanzadas, proporcionándote ejemplos prácticos que te ayudarán a comprender su funcionamiento.

Instalación de Excel.js

Para comenzar a trabajar con Excel.js, primero debes instalarlo en tu proyecto. Puedes hacerlo usando el administrador de paquetes npm:

bash
npm install exceljs

Creando un Nuevo Libro de Trabajo

Después de instalar Excel.js, puedes crear un nuevo libro de trabajo utilizando el siguiente código:

«`javascript
const ExcelJS = require(‘exceljs’);

const workbook = new ExcelJS.Workbook();
«`

Esta línea de código crea un nuevo objeto workbook que representa un libro de trabajo de Excel.

Creando Hojas de Cálculo

Dentro de un libro de trabajo, puedes crear una o más hojas de cálculo. Para crear una nueva hoja de cálculo, utiliza el método addWorksheet():

javascript
const worksheet = workbook.addWorksheet('Hoja1');

Este código crea una nueva hoja de cálculo llamada «Hoja1». Puedes añadir más hojas de cálculo de la misma manera.

Escribiendo Datos en Celdas

Puedes escribir datos en las celdas de una hoja de cálculo utilizando la función getCell(). Esta función toma como argumento el rango de la celda en el formato «A1», «B2», etc.

LEER:  Guía Completa de la Etiqueta `` en HTML: Creando Botones Interactivos

«`javascript
worksheet.getCell(‘A1’).value = ‘Nombre’;
worksheet.getCell(‘B1’).value = ‘Apellido’;

worksheet.getCell(‘A2’).value = ‘Juan’;
worksheet.getCell(‘B2’).value = ‘Pérez’;
«`

Este código escribe los títulos «Nombre» y «Apellido» en las celdas A1 y B1, respectivamente, y luego escribe los datos «Juan» y «Pérez» en las celdas A2 y B2.

Leyendo Datos de Celdas

Puedes leer los datos de las celdas utilizando la función getCell(), que también te permite obtener información adicional como el tipo de datos.

«`javascript
const cellValue = worksheet.getCell(‘A1’).value;
const cellType = worksheet.getCell(‘A1’).type;

console.log(‘Valor de la celda A1:’, cellValue);
console.log(‘Tipo de datos de la celda A1:’, cellType);
«`

Añadiendo Filas y Columnas

Puedes añadir nuevas filas y columnas a una hoja de cálculo utilizando los métodos addRow() y addColumn(), respectivamente.

«`javascript
const row = worksheet.addRow([‘Nuevo nombre’, ‘Nuevo apellido’]);

const column = worksheet.addColumn({ header: ‘Edad’, width: 10 });
«`

Formateado de Celdas

Excel.js te permite formatear las celdas, incluyendo el tipo de fuente, color, alineación y más.

«`javascript
worksheet.getCell(‘A1’).font = { name: ‘Arial’, size: 14, bold: true };

worksheet.getCell(‘A2’).fill = { type: ‘pattern’, pattern: ‘solid’, fgColor: { argb: ‘FF00FF00’ } };
«`

Guardando el Libro de Trabajo

Una vez que hayas realizado los cambios deseados en el libro de trabajo, puedes guardarlo como un archivo de Excel utilizando la función writeFile().

javascript
workbook.writeFile('mi-archivo.xlsx');

Leyendo un Archivo de Excel

Puedes leer un archivo de Excel existente utilizando la función readFile().

«`javascript
const workbook = new ExcelJS.Workbook();
await workbook.readFile(‘mi-archivo.xlsx’);

const worksheet = workbook.getWorksheet(‘Hoja1’);

console.log(‘Valor de la celda A1:’, worksheet.getCell(‘A1’).value);
«`

Iterando sobre Celdas

Excel.js te proporciona métodos para iterar sobre las celdas de una hoja de cálculo, incluyendo la función eachCell().

javascript
worksheet.eachCell({ includeEmpty: true }, (cell) => {
console.log(`Celda ${cell.address}: ${cell.value}`);
});

Trabajando con Arrays de Datos

Puedes añadir arrays de datos a las columnas y filas de una hoja de cálculo utilizando el método addRows().

«`javascript
const data = [
{ nombre: ‘Juan’, apellido: ‘Pérez’, edad: 30 },
{ nombre: ‘María’, apellido: ‘García’, edad: 25 },
];

LEER:  SQL Server JOINS: Guía Completa con Ejemplos (Inner, Outer, Self, Cross)

worksheet.addRows(data);
«`

Accediendo a los Valores de las Celdas

Puedes acceder a los valores de las celdas de forma individual utilizando la función getCell(), o utilizar el método getCellValues() para obtener todos los valores de una fila o columna.

«`javascript
const cellValue = worksheet.getCell(‘A1’).value;

const rowValues = worksheet.getRow(2).getCellValues();

const columnValues = worksheet.getColumn(‘A’).getCellValues();
«`

Ejemplos de Uso Avanzado

Formateando Columnas

Puedes formatear columnas completas utilizando la función getColumn() y luego modificando las propiedades del objeto de columna.

javascript
const column = worksheet.getColumn('A');
column.width = 20;
column.font = { name: 'Arial', size: 12, bold: true };
column.alignment = { horizontal: 'center', vertical: 'middle' };

Añadiendo Imágenes

Puedes añadir imágenes a tu libro de trabajo utilizando el método addImage().

«`javascript
const imageId = worksheet.addImage({
filename: ‘mi-imagen.png’,
extension: ‘png’,
width: 100,
height: 100,
positioning: { top: 10, left: 10 },
});

worksheet.drawings.add(‘image’, {
type: ‘picture’,
id: imageId,
});
«`

Fusionando Celdas

Puedes fusionar celdas utilizando el método mergeCells().

javascript
worksheet.mergeCells('A1:B1');

Protegiendo Hojas de Cálculo

Puedes proteger hojas de cálculo utilizando el método protect().

javascript
worksheet.protect('Contraseña');

Trabajando con Fórmulas

Puedes utilizar Excel.js para trabajar con fórmulas en las celdas de tu libro de trabajo.

javascript
worksheet.getCell('A1').value = '=SUM(A2:A10)';

Conclusión

Excel.js es una herramienta potente y versátil que te permite trabajar con archivos de Excel de forma programática. Su API intuitiva y completa te permite realizar una amplia gama de tareas, desde la creación de nuevos archivos hasta la manipulación de datos existentes.

Con este tutorial, has aprendido los fundamentos de Excel.js y ahora puedes empezar a trabajar con archivos de Excel en tus proyectos de JavaScript.