Te recomendamos que pruebes esta respuesta en un entorno controlado antes de pasarlo a producción, un saludo.
Solución:
Hay algunas bibliotecas diferentes que analizan archivos de Excel (.xlsx). Enumeraré dos proyectos que encuentro interesantes y que vale la pena analizar.
Nodo-xlsx
Analizador y constructor de Excel. Es una especie de envoltorio para un proyecto popular. JS-XLSXque es una implementación de javascript pura de la especificación Office Open XML.
página del proyecto node-xlsx
Ejemplo de archivo de análisis
var xlsx = require('node-xlsx');
var obj = xlsx.parse(__dirname + '/myFile.xlsx'); // parses a file
var obj = xlsx.parse(fs.readFileSync(__dirname + '/myFile.xlsx')); // parses a buffer
ExcelJS
Lea, manipule y escriba datos y estilos de hojas de cálculo en XLSX y JSON. Es un proyecto activo. Al momento de escribir, la última confirmación fue hace 9 horas. No lo he probado yo mismo, pero la API parece extensa con muchas posibilidades.
página del proyecto exceljs
Ejemplo de código:
// read from a file
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(filename)
.then(function()
// use workbook
);
// pipe from stream
var workbook = new Excel.Workbook();
stream.pipe(workbook.xlsx.createInputStream());
También puede usar este módulo de nodo llamado js-xlsx
1) Instalar módulo
npm install xlsx
2) Módulo de importación + fragmento de código
var XLSX = require('xlsx')
var workbook = XLSX.readFile('Master.xlsx');
var sheet_name_list = workbook.SheetNames;
var xlData = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
console.log(xlData);
instale exceljs y use el siguiente código,
var Excel = require('exceljs');
var wb = new Excel.Workbook();
var path = require('path');
var filePath = path.resolve(__dirname,'sample.xlsx');
wb.xlsx.readFile(filePath).then(function() Cell-2 - "+sh.getRow(3).getCell(2).value);
console.log(sh.rowCount);
//Get all the rows data [1st and 2nd column]
for (i = 1; i <= sh.rowCount; i++)
console.log(sh.getRow(i).getCell(1).value);
console.log(sh.getRow(i).getCell(2).value);
);
Reseñas y calificaciones
Nos puedes añadir valor a nuestra información dando tu veteranía en las notas.