【发布时间】:2018-01-19 21:29:35
【问题描述】:
我有一个带有重复部分的 word 文档,其中包含其他内容控件。 在 java 项目中,我有一个函数可以从 apache POI 的 word 文档中的 List List 中获取所有 sdts(内容控件)。 当我检查该列表中的重复部分时,我可以在所有内容控件(在我的重复部分内)中获取文本,但它是一个长段落而不是其他 sdt 节点。 有没有办法用 Apache POI 检查重复部分 sdt 的内容?我在文档中找不到任何关于它的内容
获取所有 sdts 的函数 私有静态列表
extractSDTsFromBodyElements(List<IBodyElement> elements) {
List<AbstractXWPFSDT> sdts = new ArrayList<AbstractXWPFSDT>();
for (IBodyElement e : elements) {
if (e instanceof XWPFSDT) {
XWPFSDT sdt = (XWPFSDT) e;
sdts.add(sdt);
} else if (e instanceof XWPFParagraph) {
XWPFParagraph p = (XWPFParagraph) e;
for (IRunElement e2 : p.getIRuns()) {
if (e2 instanceof XWPFSDT) {
XWPFSDT sdt = (XWPFSDT) e2;
sdts.add(sdt);
}
}
}
}
return sdts;
}
【问题讨论】:
-
人类交流的一项基本规则是,如果有人提出问题并且有人尝试帮助并回答该问题,则至少会表现出任何形式的反应。对于试图提供帮助的人来说,根本不做出反应看起来非常忘恩负义。
-
对不起,我忘了回答,我会在下次做这个项目时测试你提供的代码,谢谢你的回答,我会在测试代码时反馈
标签: ms-word apache-poi