TLDR;我正在尝试编辑并保存电子应用程序中的现有excel(.xlsx)文件。
该应用正在使用webpack,因此this question的答案无效(结果为this issue)。
相反,我尝试以下方法:
import * as exceljs from "exceljs/dist/exceljs.min.js"
import fs from 'fs'
export const openFile = () => {
let workbook = new exceljs.Workbook();
var stream = fs.createReadStream("./app/utils/some_file.xlsx");
stream.pipe(workbook.xlsx.createInputStream());
stream.on('end', function() {
console.log(workbook)
workbook.worksheets.forEach((worksheet, sheetId) => {
console.log(worksheet)
});
});
}
控制台记录workbook
变量时的输出是一个名为b.exports
的对象。它确实具有工作簿的结构和所有元数据(更新程序,修改日期,命名工作表数组) - 只是没有在文档中突出显示的方法。
例如,workbook.worksheets.forEach
函数中的console.log永远不会运行,因为没有workbook.worksheets
!
关于exceljs的文档对我来说并不清楚,问题没有得到解答所以我希望这里有人可以提供帮助(这样我就可以更新有关回购的文档,并希望将来帮助其他人)。< / p>
所以任何人都可以解释我如何在上面的问题(Modify existing Excel File using node.js)的答案中获得代码以使用webpack / electron或者altenatively,我如何获得我必须工作的代码。