0

我正在使用 pyuno 读取一个 excel 电子表格(在 linux 上运行)。许多单元格都有引用显然不可用的插件的公式。但是单元格值是我想要的。

但是当我加载并阅读工作表时,似乎正在评估这些公式,因此这些值被错误覆盖。

我已经尝试了几件事,但都没有奏效:

  • 在对 desktop.loadComponentFromURL 的调用中设置标志 AutomaticCalculation=False, MacroExecutionMode=NEVER_EXECUTE
  • 在加载的文档上调用 document.enableAutomaticCalculation(False)

有什么建议么?

4

2 回答 2

0

Calc 尚不支持在加载文档后使用缓存结果。Libreoffice Calc 现在确实使用 xls 文档的缓存结果。结果也存储在 ods 中,但在加载文档时会被忽略,并且通过编译和解释保存的公式来评估公式结果。

也有一些计划为 ods 和 xlsx 添加此功能,但有许多 ods 生产商在文件中写入不正确的结果。所以到目前为止,唯一的解决方案是让文档的第二个版本只保存结果(或在 calc 中实现它)。

于 2012-02-13T18:19:48.250 回答
0

如果formluas 不是问题,您可以通过处理仅存在值(而不是公式)的电子表格副本来规避问题。

为了快速实现这一点,选择整张工作表内容,复制,特殊粘贴;然后删除除“值”之外的所有内容。保存到新文件(确保不要覆盖原始文件,否则每个公式都会丢失!)。然后,您的脚本应该能够处理此文件。

这是一个丑陋的解决方案,因为必须有一种以编程方式进行的方法。

于 2012-01-26T17:15:45.377 回答