Node.js向xlsx文件追加一行

Node.js向xlsx文件追加一行,node.js,macos,append,xlsx,exceljs,Node.js,Macos,Append,Xlsx,Exceljs,我只是想弄清楚如何将一行附加到xlsx文件中。例如,使用列1,2,3,4,5将array=[1 2 3 4 5]追加到第一个空行。理想情况下,我会从一个空的.xlsx文件开始,然后反复运行这个程序,每次运行这个程序时,它都会在文件后面追加一行 我正在尝试使用exceljs,但我尝试对文件执行的任何测试写入在我尝试打开它们时都会说已损坏 编辑的代码仍不工作: var Excel = require('exceljs'); var workbook = new Excel.Workbook(); v

我只是想弄清楚如何将一行附加到xlsx文件中。例如,使用列1,2,3,4,5将array=[1 2 3 4 5]追加到第一个空行。理想情况下,我会从一个空的.xlsx文件开始,然后反复运行这个程序,每次运行这个程序时,它都会在文件后面追加一行

我正在尝试使用exceljs,但我尝试对文件执行的任何测试写入在我尝试打开它们时都会说已损坏

编辑的代码仍不工作:

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
var sheet = workbook.addWorksheet('rssi');                                                                                                                                                                                                  
file = 'testfile.xlsx'          
var array = [1,2,3,4,5]
sheet.addRow(array)
workbook.xlsx.writeFile(file)
.then(function() {
    console.log('Array added and file saved.')
});

输出为零字节,无法由Microsoft Excel打开。表示,文件格式或文件扩展名无效。验证文件是否已损坏,以及文件扩展名是否与文件格式匹配。

基本上,您正在尝试添加在文件写入后调用的row-in方法。试试这个例子:

var workbook = new Excel.Workbook();                                                                                                                                                                                                      
file = 'testfile.xlsx'
var array = [1,2,3,4,5]
var sheet = workbook.addWorksheet('rssi');
sheet.addRow(array)
workbook.xlsx.writeFile(file)
       .then(function() {
           console.log('Array added and then file saved.')
       });
将行添加到电子表格:-

我也遇到了同样的功能问题,所以我使用了“电子表格”模块

它对我有用

但它一次只添加一行


嗯,这好像不管用。现在该文件的名称为空,但仍然显示excel无法打开此文件file@Jake我使用在线谷歌电子表格作为开场白。工作完美。您使用哪个excel版本?使用excel for Mac版本15.26我注意到的一件事是,如果我不将.xlsx添加到文件var中,它只会创建一个数据文件,但是如果我使用完整的testfile.xlsx,它看起来会创建一个.xlsx文件,尽管它实际上是.xlsx,尽管我拥有的其他已知工作文件的文件类型为hiddenIt,但也表示它是零字节的。请解释如何使用“spread_sheet”模块,因为这个答案可能会被未来的访问者看到。//但它一次只添加一行var spread_sheet=需要“spread_sheet”;var row=1,2,杰克,海盗;var filePath='/home/Pranjal/Desktop/test.xlsx';var sheetName=Sheet1;spread_sheet.addRowrow、filePath、sheetName、functionerr、result{console.logerr、result}请不要将其放在注释中,而是编辑应答spread_sheet模块,除了.xlsx扩展名外,它还适用于.odc扩展名
var spread_sheet = require('spread_sheet');

var row = "1,2,Jack,Pirate";
var filePath = '/home/Pranjal/Desktop/test.xlsx';
var sheetName = "Sheet1";

spread_sheet.addRow(row,filePath,sheetName,function(err,result){
console.log(err,result)
})