Node.js向xlsx文件追加一行

时间:2016-11-09 20:03:27

标签: 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();
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打开。说,“文件格式或文件扩展名无效。请验证文件是否已损坏,文件扩展名是否与文件格式匹配。”

3 个答案:

答案 0 :(得分:0)

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

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.')
       });

答案 1 :(得分:0)

向电子表格添加行: -

我也遇到了相同的功能问题,因此我使用了'spread_sheet'模块。

它对我有用

答案 2 :(得分:0)

  

但它一次只添加一行

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)
})