无法在Nodejs中将数据(addRow)写入Excel文件

Sha*_*saf 1 javascript node.js exceljs

我正在尝试使用 ExcelJS 库将数据写入 Excel 文件。我成功地创建了工作表并添加了列数据。

但是,在尝试实现 addRow() 或 addRows() 方法时,数据并未添加到 Excel 工作表中。

这是我试过的代码:

 const ExcelJS = require('exceljs');
 var workbook = new ExcelJS.Workbook();
 var worksheet = workbook.addWorksheet('Payment Data');
 worksheet.columns = reportHeaders; //reportHeaders is an array of header objects
Run Code Online (Sandbox Code Playgroud)

我能够在 Excel 表中看到成功创建的列。麻烦从下面开始,我正在尝试添加数据(到行中):

第一种方法:

  worksheet.addRows(excelData);//excelData is an array of data objects
Run Code Online (Sandbox Code Playgroud)

方法二:

  for(var rowItem in excelData){
  worksheet.addRow(excelData[rowItem]);}
Run Code Online (Sandbox Code Playgroud)

但是,似乎这些方法中的任何一种都不适合我。最后,文件被保存:

  workbook.xlsx.writeFile('PaymentData.xlsx')
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?任何帮助将不胜感激。

小智 5

所以你的代码的问题是,你试图在没有指定数组中的key属性的情况下将数据添加到列中columns,因此无法添加数据。

我将worksheet.columns数组修改为如下所示:

worksheet.columns = [
    { header: "A", key: "a" },
    { header: "B", key: "b" },
];
Run Code Online (Sandbox Code Playgroud)

这将解决您的问题