2016-11-09 3 views
0

Я просто пытаюсь понять, как добавить одну строку в файл xlsx. Например, добавьте array = [1 2 3 4 5] в первую пустую строку, используя столбцы 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.') 
}); 

Выход ноль байт и не может быть открыт в 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

хмм это не похоже на работу. Теперь файл имеет пустое имя и все еще говорит, что «excel не может открыть этот файл» – Austin

+0

@Jake Я использую онлайн-таблицы google для открытия. Прекрасно работает. Какую версию excel вы используете? – aring

+0

Использование Excel для 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 (строка, Filepath, SheetName, функция (эээ, результат) { console.log (эээ, результат) }) –

+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 модуль работает и для расширения .odc, кроме расширения .xlsx –

Смежные вопросы