节点exceljs读取文件
所以根据官方文档,我应该能够阅读一个Excel文档,使用:
// 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());
我有以下文件:
我需要做的是基本上加载到一个对象的每一行:
var excelObject = {competence1: '', competence2: ''}
然后将其保存到一个数组中。
但是,文档没有给我更多关于如何从这个文件中读取。 它使用一个称为stream
的variables,但是这个variables在任何地方都没有解释
有谁知道这个插件,知道我可以如何实现我的目标?
var workbook = new Excel.Workbook(); workbook.xlsx.readFile(filename) .then(function() { var worksheet = workbook.getWorksheet(sheet); worksheet.eachRow({ includeEmpty: true }, function(row, rowNumber) { console.log("Row " + rowNumber + " = " + JSON.stringify(row.values)); }); });
如果你使用的文件是ArrayBuffer(例如FileReader.readAsArrayBuffer()在客户端上读取文件),那么要使用这个lib加载文件,你必须做下一个:
let workbook = new Excel.Workbook(); let stream = new Stream.Readable(); stream.push(file); // file is ArrayBuffer variable stream.push(null); workbook.xlsx.read(stream).then((workbook)=> { // get worksheet, read rows, etc });