首页 > 解决方案 > 无法将数据(addRow)写入Nodejs中的Excel文件

问题描述

我正在尝试使用 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

我能够看到在 excel 表中成功创建的列。麻烦从下面开始,我试图将数据添加到行中:

第一种方法:

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

方法二:

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

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

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

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

标签: javascriptnode.jsexceljs

解决方案


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

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

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

这将解决您的问题


推荐阅读