2016-11-09 971 views
0

我只是想弄清楚如何將一行添加到xlsx文件。例如,使用列1,2,3,4,5將第一個空行附加array = [1 2 3 4 5]。理想情況下,我會從空的.xlsx文件開始,並重復運行該程序,該程序每次運行時都會在文件中追加一個新行。Node.js向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.') 
}); 

輸出爲0字節不能由Microsoft Excel中打開。說:「文件格式或文件擴展名無效,請確認文件沒有被損壞,並且文件擴展名與文件格式相匹配。」

回答

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

這似乎HMM是不工作只添加一行。現在該文件有一個空白名稱,仍然說「excel無法打開此文件」 – Austin

+0

@Jake我正在使用在線谷歌電子表格打開。完美的作品。你使用哪個excel版本? – aring

+0

使用Excel for Mac版本15.26 – Austin

0

添加行到電子表格: -

我也堅持相同的功能的問題,所以我用「spread_sheet」模塊。

它爲我

+0

請解釋如何使用'spread_sheet'模塊,因爲這個答案可能會被未來的訪問者查看。 – SteveFest

+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(行,文件路徑,SHEETNAME,功能(ERR,結果){ 的console.log(ERR,結果) }) –

+0

請不要把它放在意見,而不是編輯你的答案 – SteveFest

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

spread_sheet除.xlsx擴展名之外,模塊也適用於.odc擴展 –