获取 excel sheet 单元格的计算值 Node.js

get computed value of excel sheet cell in Node.js

我正在使用 node.js 和 exceljs 模块处理我的 excel sheet。

我正在将值写入几个单元格,而其他单元格已经包含公式。我想触发这些公式并想以编程方式将值存储在 sheet 中。

例如我有以下 sheet 结构:

我写了下面的代码来在单元格 A1 和 B1 中插入值。

var workbook = new Excel.Workbook();
workbook.xlsx.readFile(__base + 'test.xlsx')
  .then(function() {
    var worksheet = workbook.getWorksheet(2);
    var row = worksheet.getRow(1);
    row.getCell(1).value = 2; // A1's value set to 2
    row.getCell(2).value = 8; // B1's value set to 8
  };
  row.commit();
  workbook.xlsx.writeFile(__base + 'test.xlsx');                            
});

当我尝试获取 c1 的值时,它返回结果为 0 的公式。下面是获取值的代码。

workbook.xlsx.readFile(__base + 'test.xlsx')
    .then(function() {
    var worksheet = workbook.getWorksheet(2);
    var row = worksheet.getRow(1);
    console.log(row.getCell(1).value);
    console.log(row.getCell(2).value);
    console.log(row.getCell(3).value);
});

输出:

如何获取计算值或如何以编程方式在 excel 中触发计算并将其存储在单元格中?

单元格 C1 的输出结果在控制台中应为 10,即 A1+B1 (2+8)。

exceljs 允许您直接修改文件而无需使用 Excel.
不会在文件级别进行任何计算,结果值将是您上次打开它时 Excel 计算的最新值。

如果你打开Excel,它会计算所有的东西并且值是正确的。

hot-formula-parser 可以解析公式...与 exceljs

结合使用

这是可能的connecting code