如何附加到nodejs中的excel文件

Sye*_*zan 6 excel buffer append node.js

我目前正在处理一个表单,它将接受用户输入并将其添加到excel表的一行,截至目前我已设法使用第三方插件制作excel表(node-xls是特定的).如果我想在excel中添加另一行,它会删除旧条目并添加新条目而不是将数据附加到下一行.

尝试读取excel,然后连接缓冲区并再次写入文件,但事实证明它正在破坏文件并使其无法使用.

如何将数据附加到Excel工作表的末尾?我是nodejs和buffers的新手

var fs = require('fs');
var NodeXls = require('node-xls');
var tool = new NodeXls();
var xls = tool.json2xls({firstName: "arjun", lastName: "u", dob:"12/3/2008"}, {order:["firstName", "lastName", "dob"]});
fs.appendFile('output.xlsx', xls, 'binary', function(err){
if(err)
  alert("File is readOnly or is being used by another application,  please close it and continue!");
});
Run Code Online (Sandbox Code Playgroud)

小智 5

你尝试过Exceljs吗?它有助于读取、操作电子表格数据和样式并将其写入 XLSX 和 JSON。

请查看以下链接了解详细信息

https://www.npmjs.com/package/exceljs

添加行或附加行的问题在这里解决:

worksheet.addRow({id: 1, name: 'John Doe', dob: new Date(1970,1,1)});

var rowValues = [];
rowValues[1] = 4;
rowValues[5] = 'Kyle';
rowValues[9] = new Date();
worksheet.addRow(rowValues);

// Add an array of rows 
var rows = [
    [5,'Bob',new Date()], // row by array 
    {id:6, name: 'Barbara', dob: new Date()}
];
worksheet.addRows(rows);
Run Code Online (Sandbox Code Playgroud)