1

我有一个生成 Excel 文件的程序。具体来说,它是一个节点应用程序,它生成一个 JSON 文件,该文件被加载到 GrapeCity 的 SpreadJS 并通过他们的 ExcelIO 库再次导出。这个文件中有很多公式——至少有一千种不同的表格是根据输入数据集中的各种规则构建的,而输入数据集本身就很重要。虽然这些文件在 SpreadJS 中加载文件并以它们在 Excel 中加载并似乎可以工作的方式导出,但当我尝试加载它时,我从 Excel 中收到了一些错误:

Excel completed file level validation and repair. Some parts of this workbook may have been repaired or discarded.

Removed Records: Formula from /xl/worksheets/sheet1.xml part
Removed Records: Formula from /xl/worksheets/sheet2.xml part
Removed Records: Formula from /xl/worksheets/sheet3.xml part

在我最初发布这个问题之后,我最终发现这是因为有问题的公式对文本字符串使用单引号而不是双引号。问题是 - 在不玩猜谜游戏的情况下,我如何确定Excel 已删除/修复了哪些公式?Excel 的所谓日志文件只是对同样无用的引用的重复。

以下任何一项都可以算作好的答案:

  • 一种让 Excel 告诉我它有问题的公式字符串的方法
  • 一种让 Excel 告诉我它有问题的公式的单元格引用(例如 F5)的方法
  • 一个可以做同样事情的外部工具
  • 一个用于验证 Excel 公式的库或工具,我可以在 Excel 文件或原始输入上运行,它会给我类似的输出。如果是 npm lib 那就更好了
4

2 回答 2

0

感谢您使用 SpreadJS。您能否与我们的团队分享原始的 spreadjs 文件(ssjson),他们可以执行导出并找出可能导致此问题的原因。一般来说,导出的文件不应该产品文件打开错误,即使公式不正确。

葡萄城队

http://www.grapecity.com/spreadjs

于 2020-08-10T01:14:55.017 回答
0

https://github.com/LesterLyu/fast-formula-parser/用于验证公式。

于 2020-08-18T17:06:35.110 回答