使用 node.js 修改现有 Excel 文件

新手上路,请多包涵

有没有办法修改 node.js 中现有的 excel 文件?我研究了 exceljs,但它不提供任何只会修改现有数据的功能。似乎它将写入一个新流。

还是我错过了 exceljs 上的某些内容?

提前致谢。

原文由 jengfad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.7k
2 个回答

exceljs 确实允许您修改 Excel 电子表格。

这是一个读取现有电子表格并将其写回另一个文件的示例:

 var Excel = require('exceljs');
var workbook = new Excel.Workbook();

workbook.xlsx.readFile('old.xlsx')
    .then(function() {
        var worksheet = workbook.getWorksheet(1);
        var row = worksheet.getRow(5);
        row.getCell(1).value = 5; // A5's value set to 5
        row.commit();
        return workbook.xlsx.writeFile('new.xlsx');
    })

如果您将 Streams API 与 exceljs 一起使用,您还可以将流通过管道传输到 fs.createWriteStream 以写入文件。

原文由 Clarence Leung 发布,翻译遵循 CC BY-SA 3.0 许可协议

谢谢大家的回答。相同的文件,您可以通过以下代码更新行值无需重命名或创建新文件。

     var Excel = require('exceljs');
    let filename = 'src/write.xlsx';
    let workbook = new Excel.Workbook();
    await workbook.xlsx.readFile(filename);
    let worksheet = workbook.getWorksheet("Sheet1");
    // header id name dob
    let row = worksheet.getRow(3);
    console.log(row);
    row.getCell(1).value = 2;
    row.getCell(2).value = 'test';
    row.getCell(3).value = '12/09/1991';
    row.commit();
    workbook.xlsx.writeFile('src/write.xlsx');

原文由 Ashish Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进