gpt4 book ai didi

java - 使用 POI-3.10-FINAL 修改 PowerPoint 表格

转载 作者:行者123 更新时间:2023-11-30 09:06:28 24 4
gpt4 key购买 nike

我在使用 POI-3.10-FINAL 时遇到问题,无法完全编辑 PPTX。我注意到我可以成功添加新幻灯片,但对形状(在本例中为表格)的修改不会反射(reflect)在输出的 PPTX 文件中。

我能够通过从 poi-ooxml-schemas-*.jar 切换到 ooxml-schemas-1.1.jar 来修复它,但是生成的 PPTX 文件似乎损坏:PowerPoint 2007无法打开,PowerPoint 2010先修复,然后正常打开。

在调查这个问题时,我注意到“docProps/app.xml”没有正确更新(我假设 PPTX 中的其他文件也没有更新)。

有什么想法吗?

最佳答案

我已经能够使用 Microsoft 的 OpenXml SDK 正确排除和修复我的 POI 问题(请参阅 OpenXml SDK)。 SDK 帮助您扫描 PPTX 文件(或任何其他 OpenXml 文档)并编译它发现的所有错误的列表。

在我的例子中,我将一个表格单元格的文本值设置为空。反过来,POI 在最上面的幻灯片标签中生成了 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 声明并使用了 xsi:nil= PowerPoint 绝对不喜欢的单元格标签中的“true”

我遇到的另一个问题是我正在修改在我的表中创建新的行和列。为了让我的代码更简单,每当我对单元格进行任何操作时,我都确保将边框信息设置为黑色,宽度为 1,填充颜色为白色。出于某种奇怪的原因,似乎 POI 并没有替换边界信息,而是附加了它,这使得 PPTX 有 2 个冲突值而不是 1(我必须进一步调查这个,但在尝试明确设置它们之前检查边界和填充信息解决了我的问题)。

一旦我弄明白了,这些问题就很容易解决。

关于java - 使用 POI-3.10-FINAL 修改 PowerPoint 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24436659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com