【问题标题】:how to append to a excel file in nodejs如何在nodejs中附加到excel文件
【发布时间】:2015-11-14 13:02:36
【问题描述】:

我目前正在制作一个表单,该表单将接受用户输入并将其添加到 Excel 表的一行中,截至目前,我已经设法使用 3rd 方插件(具体为 node-xls)制作了 excel 表。 如果我想在 excel 中添加另一行,则会出现问题,它会删除旧条目并添加新条目,而不是将数据附加到下一行。

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

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

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!");
});

【问题讨论】:

    标签: node.js excel append buffer


    【解决方案1】:

    一次添加一行

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

    【讨论】:

      【解决方案2】:

      安装 npm 模块“spread_sheet”,它肯定会解决添加行以及从任何工作表的电子表格中读取行的问题。

      【讨论】:

      • 使用正确的格式,你怎么知道它必须解决问题?
      • 但是为什么它必须解决它呢?它不适用于某些电子表格吗?
      【解决方案3】:

      您是否尝试过 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);
      

      【讨论】:

      • 如果有数百万的数据,存储到工作表变量会导致heap out of memory 错误。因此,如果数据很多,最好将文件写为垃圾文件。如何使用 exceljs 实现它?
      • @thinkmore 你找到解决堆内存不足的方法了吗?
      猜你喜欢
      • 2013-11-12
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2014-05-09
      相关资源
      最近更新 更多