【发布时间】:2014-07-19 07:58:55
【问题描述】:
我需要在 C++ 中以编程方式编辑 LibreOffice Calc 文档。我知道有odfkit 库,它使用webodf,但它看起来不支持编辑.ods 文件。
是否有任何替代方案可以为我提供此功能?
【问题讨论】:
我需要在 C++ 中以编程方式编辑 LibreOffice Calc 文档。我知道有odfkit 库,它使用webodf,但它看起来不支持编辑.ods 文件。
是否有任何替代方案可以为我提供此功能?
【问题讨论】:
Libreoffice 有 API,称为 UNO,用于从另一个进程控制它。因此,如果您需要更复杂的东西,那将是最简单的方法。
如果您只需要一些简单的转换,另一种选择是使用普通的旧 zip 库(libzip、libarchive、...)解压缩文件并手动修改 XML。
opendocument 网站也提到了 lpOD,但网络似乎已经失效,虽然搜索出现了一些看起来相关的东西,但我不确定是否有任何可用的东西。
【讨论】:
content.xml 应该不难,并且会节省一些资源。如果您需要重新计算公式等,最好使用 openoffice api。我相信公式的结果是预先计算好的并存储在文件中的,因此您可以直接从 XML 中读取它们,但我不确定。
见SDK documentation,有很多例子
【讨论】: