2016-11-09 4 views
0

Ich versuche nur herauszufinden, wie Sie eine einzelne Zeile an eine XLSX-Datei anhängen. Fügen Sie beispielsweise array = [1 2 3 4 5] mit den Spalten 1,2,3,4,5 an die erste leere Zeile an. Idealerweise würde ich mit einer leeren .xlsx-Datei beginnen und dieses Programm wiederholt ausführen, das jedes Mal, wenn es ausgeführt wird, eine neue Zeile an die Datei anfügt.Node.js eine Zeile an XLSX-Datei anfügen

Ich versuche, Exceljs zu verwenden, aber alle Testschreibvorgänge, die ich versuche, zu einer Datei zu machen, sagen korrumpiert, wenn ich versuche, sie zu öffnen.

editierten Code (noch nicht funktioniert):

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

Ausgang ist Null-Bytes und kann nicht von Microsoft Excel geöffnet werden. "Das Dateiformat oder die Dateierweiterung ist nicht gültig. Stellen Sie sicher, dass die Datei nicht beschädigt ist und dass die Dateierweiterung dem Format der Datei entspricht."

Antwort

0

Im Grunde haben Sie versucht, die Zeile in der Methode hinzuzufügen, die nach dem Schreiben der Datei aufgerufen wurde. Versuchen Sie folgendes Beispiel:

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 dies nicht zu arbeiten scheinen Zeit hinzuzufügen. Jetzt hat die Datei einen leeren Namen und sagt immer noch "Excel kann diese Datei nicht öffnen" – Austin

+0

@Jake Ich benutze Online-Google-Tabellen zum Öffnen. Funktioniert perfekt. Welche Excel-Version verwendest du? – aring

+0

Verwenden von Excel für Mac Version 15.26 – Austin

0

In Zeile Tabelle: -

ich auch mit der gleichen Funktionalität Problem stecken, so habe ich 'spread_sheet' Modul.

Er arbeitete für mich

+0

Bitte erklären Sie, wie Sie das Modul 'spread_sheet' verwenden, da diese Antwort von zukünftigen Besuchern gesehen werden kann. – SteveFest

+0

// Aber es fügen nur eine Reihe zu einer Zeit hinzu var spread_sheet = require ('spread_sheet'); var row = "1,2, Jack, Pirate"; var filePath = '/home/Pranjal/Desktop/test.xlsx'; var blattName = "Blatt1"; spread_sheet.addRow (row, filePath, Sheetname, Funktion (err, Ergebnis) { console.log (err, Ergebnis) }) –

+0

Bitte nicht setzen es in den Kommentaren, anstatt Ihre Antwort – SteveFest

0

Aber es nur eine Zeile auf

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 bearbeiten Das Modul funktioniert auch für die Erweiterung .odc, abgesehen von der Erweiterung .xlsx –