【问题标题】:Editing `ods` file in C++ code在 C++ 代码中编辑“ods”文件
【发布时间】:2014-07-19 07:58:55
【问题描述】:

我需要在 C++ 中以编程方式编辑 LibreOffice Calc 文档。我知道有odfkit 库,它使用webodf,但它看起来不支持编辑.ods 文件。

是否有任何替代方案可以为我提供此功能?

【问题讨论】:

    标签: odf ods webodf


    【解决方案1】:

    Libreoffice 有 API,称为 UNO,用于从另一个进程控制它。因此,如果您需要更复杂的东西,那将是最简单的方法。

    如果您只需要一些简单的转换,另一种选择是使用普通的旧 zip 库(libziplibarchive、...)解压缩文件并手动修改 XML。

    opendocument 网站也提到了 lpOD,但网络似乎已经失效,虽然搜索出现了一些看起来相关的东西,但我不确定是否有任何可用的东西。

    【讨论】:

    • 我需要访问特定单元格的值,仅此而已。
    • @KrzysztofStanisławek:如果您只需要从固定位置或由某个标题标识的位置读取值,则使用 XML 解析器直接读取 content.xml 应该不难,并且会节省一些资源。如果您需要重新计算公式等,最好使用 openoffice api。我相信公式的结果是预先计算好的并存储在文件中的,因此您可以直接从 XML 中读取它们,但我不确定。
    • @KrzysztofStanisławek:在检查事实时,我还遇到了 lpOD;我不确定它有多完整。
    【解决方案2】:

    SDK documentation,有很多例子

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      相关资源
      最近更新 更多