1

如果它有一个特定的词,我想删除 docx 中的特定行,比如“杀手”。如何使用 poi xwpf 编写程序?如果我用空数据替换它,该行将仍然存在。

实际上,我可以在 docx 文件中找到特定文本,以便我可以匹配并决定是否使用以下代码删除该特定行:

for (XWPFParagraph xwpfParagraph : xwpfParagraphs) {
        List<XWPFRun> xwpfRuns = xwpfParagraph.getRuns();
        for (XWPFRun xwpfRun : xwpfRuns) {
            String xwpfRunText = xwpfRun.getText(xwpfRun
                    .getTextPosition());
            System.out.println(xwpfRunText);
            for (Map.Entry<String, String> entry : replcementMap
                    .entrySet()) {
                if (xwpfRunText != null
                        && xwpfRunText.contains(entry.getKey())) {
                    xwpfRunText = xwpfRunText.replaceAll(
                            entry.getKey() , entry.getValue());
                }
            }
            xwpfRun.setText(xwpfRunText, 0);
        }
    }
4

1 回答 1

0

我有同样的问题。我想替换 doc 文件中的文本。这是一个很好的例子: http: //moodygeeky.wordpress.com/ 只需导入 2 类:

There are 2 classes:

ZipUtility - 处理文件的压缩和解压缩
SubstituteText - 用于替换 .docx 文件中的文本

并将这些字符串替换为您的偏好:

// Names of placeholders, starting and ending with % (to be updated
    // accordingly)
    String placeholder1 = "%name%";
    String placeholder2 = "%text%";

    // Values to replace placeholders (to be updated accordingly)
    String var1 = escapeHTML("newName"); // %name%
    String var2 = escapeHTML("newText"); // %text%
于 2014-11-13T12:56:53.547 回答