Saltar al contenido

Leer archivo de Excel usando node.js

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *