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

Unable to write data (addRow) into Excel file in Nodejs

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

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

这是我试过的代码:

 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

我能够在 excel sheet 中看到成功创建的列。问题从下面开始,我正在尝试添加数据(到行中):

第一种方法:

  worksheet.addRows(excelData);//excelData is an array of data objects

第二种方法:

  for(var rowItem in excelData){
  worksheet.addRow(excelData[rowItem]);}

但是,这两种方法似乎都不适合我。 最后保存文件:

  workbook.xlsx.writeFile('PaymentData.xlsx')

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

我设法将对象转换为数组并将其传递给 addRow 方法。 这对我有用。

我仍然不确定为什么我无法将对象数组传递给 addRow 方法。

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

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

worksheet.columns = [
    { header: "A", key: "a" },
    { header: "B", key: "b" },
];

这将解决您的问题