问题标签 [odf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
384 浏览

java - ODFToolkit - 重新计算所有公式

我有两个文件:

  • 1.odsC:\
  • 2.odsZ:\

在我输入的1.ods单元格中,保存,关闭。A110

2.ods- 单元格中A1,我输入了公式:='file:///Z:/1.ods'#$Sheet1.A1,保存,关闭。

现在我想在单元格中的值更改时(当然在保存之后)使用 API 以编程方式重新计算单元格中的2.ods值。A1odftoolkit1.odsA1

有一种获取计算值的方法:Cell#getDisplayText但这不适用于外部依赖项。我还没有找到任何与 Open/LibreOffice 快捷方式相同的 API 方法Ctrl+Shift+F9

如何仅使用odftoolkitAPI 刷新/重新计算上述值?

(这是因为我有 7000 个 ods 文件,我不想手动重新计算,然后做我需要做的事情)

0 投票
1 回答
2163 浏览

python - 将我的 python 脚本从 lxml 转换为 xml.etree

我正在尝试将我的脚本(https://github.com/fletchermoore/n2c2)转换为使用默认包 xml.etree 而不是 lxml。这是我的疏忽,但现在我意识到让我的目标受众在他们的 Mac 上设置 lxml 是不可能的。

我认为大多数代码应该只通过切换导入来工作,但是当我尝试它时,我发现 xml.etree 以不同的方式处理命名空间(我不明白)。具体来说,在这里转换 setTagNames 函数的最简单方法是什么。xml是从.fromstring()方法创建的。

0 投票
1 回答
2651 浏览

java - 如何将 .odt 文件的内容解析为 Java 中的字符串?

最好使用 ODFDOM API。如果可能的话,我想将整个文件的内容放在一个字符串中。如果不是,您将如何在文件中搜索特定的子字符串?

提前致谢。

0 投票
1 回答
165 浏览

settings - 如何使用 API 覆盖 ODF 根 RSID

我正在使用 openoffice/libreoffice API 生成 ODT 文档,并且我希望文件每次都 100% 相同(通过 MD5 比较)。

此时,我可以解压缩在不同时间生成的两个文件并检查 zip 文件中的所有文件,它们都匹配 100%,除了 Settings.xml 有两个独特的差异(都与 RSID 相关)。

我了解到这是为了合并和跟踪原始文档,但我希望它们是我控制的固定值,因为我不打算合并它们,但我找不到在哪里设置这些属性。

我已经尝试了一些选项(如下)并输出了属性,但到目前为止还没有找到。有没有一种方法可以覆盖 RSID,而无需我(编码)解压缩文件并修改 XML,我现在已经完成了,但感觉有点尴尬所以仍在寻找这个。

0 投票
3 回答
1112 浏览

java - Leaky java library slowly takes all memory, no OutOfMemoryException is thrown, workarounds?

I am using java odftoolkit library (simple-odf-0.6.6) for odf document manipulations. We iterate all documents in the loop :

As we are iterating thousands of documents, java app slowly takes all memory and then everything slows down as GC is trying to free some memory. We are not getting OutOfMemoryException.

I tried to tune JVM memory sizes and GC options (http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html) - application whitstand few more minutes but then is all memory consumed again.

This is sample from dump taken when application reaches of all available memory :

as you can see just few kB has been released and GC is very slow (over 2 seconds).

This jmap histogram shows biggest consumers :

as you can see there`s a lot of odftoolkit related classes in the memory.

Is there any effective way how to deal with this problem ? Would be great to have possibility to unload odftoolkit from our app at runtime and load it again to get of rid of all objects in memory (obviously it`s linked together, GC cannot do anything useful).

We are considering also to run critical code as separate process for smaller groups of documents, but that does not solve cause of problem.

0 投票
1 回答
1428 浏览

java - 如何使用 ODFDOM 设置 ods 电子表格的页面大小、页面方向和页边距?

Apache 孵化项目ODFDOM允许用户以编程方式读取和创建各种开放文档格式文件,包括电子表格。

我正在尝试使用他们重新设计的“简单 API”为我正在创建的电子表格设置各种打印选项,但是似乎他们还没有公开一种简单的方法来修改文档属性,例如页边距、页面大小(高度/width)和页面方向(横向/纵向)。

我需要从SpreadsheetDocument获取允许我修改这些值的东西。

0 投票
1 回答
16408 浏览

java - 使用 Apache ODF 工具包获取 java.lang.NoClassDefFoundError: org/apache/xerces/dom/ElementNSImpl

我正在尝试ods使用Apache ODF Toolkit. java.lang.NoClassDefFoundError尝试使用以下代码加载电子表格时出现错误-

以下是错误跟踪 -

下面是项目结构,它显示了类路径- 日食截图

是否缺少任何依赖项?

0 投票
1 回答
1229 浏览

java - 在 Java 中创建 ODF 文件

我有一个 Java EE Web 应用程序,我需要在其中创建一个 ODF 文件并用提交的数据填充它。

如何使用 Java 创建和填充 ODF 文件?有图书馆可以使用吗?我注意到了 Apache POI,但我还没有找到一个有据可查的方法来使用 Java 打开和编写 ODF。

0 投票
2 回答
2805 浏览

java - 从打开的 Office 文件中获取元数据

我只需要修改 Open Office 文件元数据。在不将整个文件加载到内存(file.odt)的情况下如何做到这一点?我只需要使用文件:meta.xml 和标签:...元数据...

我正在使用 Apache ODF Toolkit 0.5-incubating。我的代码加载了 meta.xml 文件,但我无法获取元数据:

0 投票
1 回答
705 浏览

java - jOpenDocument Sheet.getValueAt(int, int) 返回值既是String又是BigDecimal?

我正在使用 jOpenDocument 库处理 .ods 电子表格。由于我正在处理字符串,所以一切都很好,但是当涉及到处理数字时,这很痛苦。

在我的代码中,我迭代电子表格并根据索引 x,y 处的单元格假定的值进行一些计算。令人惊讶的是,我无法得到我得到的值的类:

这段代码打印出来:

您可以看到该值似乎属于两个不同的类。

如果我尝试将返回的对象解析为字符串,我还会得到另一个 ClassCastException:

请注意,这次该类似乎只是 BigDecimal。

我试图查找文档,但javadoc 上只有 Sheet.getValueAt(String) 可用。(虽然我在教程中找到了这种方法,它似乎在字符串上运行得很好)。我应该怎么办?