Javascript 无法将数据(addRow)写入Nodejs中的Excel文件
我正在尝试使用ExcelJS库将数据写入Excel文件。我成功地创建了工作表并添加了列数据 但是,在尝试实现addRow()或addRows()方法时,数据不会添加到Excel工作表中 以下是我尝试的代码:Javascript 无法将数据(addRow)写入Nodejs中的Excel文件,javascript,node.js,exceljs,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.co
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')
我有什么遗漏吗?任何帮助都将不胜感激。我成功地将对象转换为数组,并将其传递给addRow方法。 这对我有用
我仍然不确定为什么无法将对象数组传递给addRow方法。我成功地将对象转换为数组,并将其传递给addRow方法。 这对我有用
我仍然不确定为什么无法将对象数组传递给addRow方法。因此,代码的问题是,您试图将数据添加到列中,但没有在
列
数组中指定键
属性,因此无法添加数据
我修改了工作表.columns
数组,如下所示:
worksheet.columns=[
{标题:“A”,键:“A”},
{标题:“B”,键:“B”},
];
这将解决您的问题因此代码的问题是,您试图将数据添加到列中,但未在
列
数组中指定键
属性,因此无法添加数据
我修改了工作表.columns
数组,如下所示:
worksheet.columns=[
{标题:“A”,键:“A”},
{标题:“B”,键:“B”},
];
这将解决你的问题你能在网站上为项目创建一个在线工作演示吗?这样会很有帮助。尝试了类似的方法后,你可以将答案标记为已接受的答案,如果这对你有效。你能在网站上为项目创建一个在线工作演示吗?那样会更好有帮助。尝试了类似的方法,但没有成功。如果对您有效,您可以将答案标记为已接受的答案。因为您没有为标题定义键,所以它不知道每个对象字段将映射到哪个列。请参阅Vibhor的回答,因为您没有为标题定义键,所以它不知道每个对象字段将映射到哪个列。见Vibhor的回答,将该回答标记为正确(部分);除了添加
键
属性外;当我给excelData
数组赋值时,我把它赋值错了。应将值赋值给键
属性,而不是列标题
。我所做的:excelData[row].headerName=value代码>我所更正的:excelData[row].key=value
(key是与headerName相对应的key
属性的值)将此答案标记为正确(部分);除了添加键
属性外;当我给excelData
数组赋值时,我把它赋值错了。应将值赋值给键
属性,而不是列标题
。我所做的:excelData[row].headerName=value代码>我所更正的:excelData[row].key=value
(key是与headerName对应的key
属性的值)