无法将数据 (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" },
];
这将解决您的问题
我正在尝试使用 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" },
];
这将解决您的问题