Creación y Edición de Archivos
- xlsx:
xlsxpermite la creación y edición básica de archivos de Excel, pero su enfoque principal es la lectura y escritura de datos. No ofrece soporte nativo para estilos avanzados, fórmulas o validaciones, lo que lo hace más adecuado para tareas simples de importación/exportación. - exceljs:
exceljspermite crear y editar archivos de Excel de manera programática, incluidos estilos, fórmulas y validaciones de datos. Soporta la manipulación de múltiples hojas, celdas fusionadas y gráficos, lo que lo hace adecuado para aplicaciones que requieren generación de informes complejos.
Soporte de Estilos
- xlsx:
xlsxtiene soporte limitado para estilos de celdas. Puede aplicar estilos básicos como color de fondo y fuente, pero no admite estilos avanzados ni la manipulación detallada de los mismos. Esto limita su uso en aplicaciones que requieren un formateo extenso. - exceljs:
exceljsofrece un soporte completo para estilos de celdas, incluidos colores de fondo, fuentes, bordes y alineación. Permite la personalización detallada de los estilos, lo que lo hace ideal para generar informes visualmente atractivos y bien formateados.
Manejo de Fórmulas
- xlsx:
xlsxpermite la lectura y escritura de fórmulas en celdas, pero no ofrece soporte para la manipulación o edición de fórmulas existentes. Es adecuado para aplicaciones que necesitan manejar datos con fórmulas, pero no para aquellas que requieren manipulación avanzada. - exceljs:
exceljsadmite la creación y edición de fórmulas en celdas, lo que permite la manipulación dinámica de datos. Soporta fórmulas complejas, referencias a otras celdas y actualización automática de valores, lo que lo hace adecuado para aplicaciones que requieren cálculos avanzados.
Interoperabilidad
- xlsx:
xlsxes altamente interoperable y admite múltiples formatos de archivo, incluidos .xlsx, .xls, .csv y .ods. Esto lo hace adecuado para aplicaciones que necesitan trabajar con una variedad de formatos de hoja de cálculo y garantizar la compatibilidad con diferentes plataformas. - exceljs:
exceljsse centra en la creación y edición de archivos .xlsx, .xls y .csv, pero su interoperabilidad con otros formatos es limitada. Es ideal para aplicaciones que trabajan principalmente con archivos de Excel.
Ejemplo de Código
- xlsx:
Ejemplo de creación de un archivo de Excel con
xlsxconst XLSX = require('xlsx'); // Crear un nuevo libro de trabajo const workbook = XLSX.utils.book_new(); // Crear una hoja de cálculo con datos const data = [ ['Nombre', 'Edad', 'Ciudad'], ['Juan', 30, 'Madrid'], ['Ana', 25, 'Barcelona'], ['Luis', 35, 'Valencia'] ]; const worksheet = XLSX.utils.aoa_to_sheet(data); // Agregar la hoja al libro de trabajo XLSX.utils.book_append_sheet(workbook, worksheet, 'Hoja 1'); // Guardar el archivo XLSX.writeFile(workbook, 'ejemplo.xlsx'); console.log('Archivo de Excel creado: ejemplo.xlsx'); - exceljs:
Ejemplo de creación de un archivo de Excel con
exceljsconst ExcelJS = require('exceljs'); const workbook = new ExcelJS.Workbook(); const sheet = workbook.addWorksheet('Hoja 1'); // Agregar encabezados sheet.columns = [ { header: 'Nombre', key: 'nombre', width: 15 }, { header: 'Edad', key: 'edad', width: 10 }, { header: 'Ciudad', key: 'ciudad', width: 15 } ]; // Agregar datos sheet.addRows([ { nombre: 'Juan', edad: 30, ciudad: 'Madrid' }, { nombre: 'Ana', edad: 25, ciudad: 'Barcelona' }, { nombre: 'Luis', edad: 35, ciudad: 'Valencia' } ]); // Aplicar estilo a una celda const cell = sheet.getCell('A1'); cell.font = { bold: true, color: { argb: 'FF0000' } }; cell.fill = { fill: { patternType: 'solid', fgColor: { argb: 'FFFF00' } } }; // Guardar el archivo workbook.xlsx.writeFile('ejemplo.xlsx').then(() => { console.log('Archivo de Excel creado: ejemplo.xlsx'); });
