在Apache POI中,有没有办法通过id id来访问XWPF元素?

时间:2017-07-03 12:02:34

标签: java apache-poi xwpf

我有word文档(基于docx和xml),我想找到一个表并以编程方式填充它。我正在使用Apache POI,XWPF API。

有没有办法通过ID访问XWPF元素?

如何在XWPF元素之间创建唯一性,然后使用java进行更改?

由于

1 个答案:

答案 0 :(得分:1)

我实施的是查找替换功能(from here);

在我的模板docx文件中,我正在使用" id喜欢文本",__ heading1 _,_ _ subjectname__,然后使用下面的代码替换它们。对于表@ axel-richters解决方案可能是合适的。

private void findReplace(String a, String b, CustomXWPFDocument document){
    for (XWPFParagraph p : document.getParagraphs()) {
        List<XWPFRun> runs = p.getRuns();
        if (runs != null) {
            for (XWPFRun r : runs) {
                String text = r.getText(0);
                if (text != null && text.contains(a)) {
                    text = text.replace(a, b);
                    r.setText(text, 0);
                }
            }
        }
    }
}