当前位置: 首页 > 面试题库 >

替换Apache POI XWPF中的文本

锺离辰沛
2023-03-14
问题内容

我刚刚发现Apache POI库对于使用Java编辑Word文件非常有用。具体来说,我想使用Apache POI的XWPF类编辑 DOCX
文件。我发现没有适当的方法/文档可以遵循此操作。有人可以分步说明如何替换DOCX文件中的某些文本。

**文字可能在一行/段落或表格的行/列中

提前致谢 :)


问题答案:

您需要的方法是XWPFRun.setText(String)。只需遍历文件,直到找到感兴趣的XWPFRun,确定您想要的新文本,然后替换它即可。(运行是具有相同格式的一系列文本)

您应该能够执行以下操作:

XWPFDocument doc = new XWPFDocument(OPCPackage.open("input.docx"));
for (XWPFParagraph p : doc.getParagraphs()) {
    List<XWPFRun> runs = p.getRuns();
    if (runs != null) {
        for (XWPFRun r : runs) {
            String text = r.getText(0);
            if (text != null && text.contains("needle")) {
                text = text.replace("needle", "haystack");
                r.setText(text, 0);
            }
        }
    }
}
for (XWPFTable tbl : doc.getTables()) {
   for (XWPFTableRow row : tbl.getRows()) {
      for (XWPFTableCell cell : row.getTableCells()) {
         for (XWPFParagraph p : cell.getParagraphs()) {
            for (XWPFRun r : p.getRuns()) {
              String text = r.getText(0);
              if (text != null && text.contains("needle")) {
                text = text.replace("needle", "haystack");
                r.setText(text,0);
              }
            }
         }
      }
   }
}
doc.write(new FileOutputStream("output.docx"));


 类似资料:
  • 本文向大家介绍Python替换文件中的文本,包括了Python替换文件中的文本的使用技巧和注意事项,需要的朋友参考一下 例子            

  • 问题内容: 如何替换在文本文件中找到的一行文本? 我有一个字符串,例如: 我想用更新它: (反之亦然) 我该如何完成? 顺便说一句,我只想替换已读取的行。不是整个文件。 问题答案: 在底部,我有一个通用的解决方案来替换文件中的行。但是首先,这是眼前特定问题的答案。辅助功能: 然后调用它: 原始文本文件内容: Output: New text file content: And as a note,

  • 问题内容: 我刚刚发现Apache POI库对于使用Java编辑Word文件非常有用。具体来说,我想使用Apache POI的XWPF类编辑 DOCX 文件。我发现没有适当的方法/文档可以遵循此操作。有人可以分步说明如何替换DOCX文件中的某些文本。 **文字可能在一行/段落或表格的行/列中 提前致谢 :) 问题答案: 您需要的方法是XWPFRun.setText(String)。只需遍历文件,直

  • 问题内容: 我有一个名为FormatString.java的文本文件。它包含一些单词。在所有这些单词中,我想将单词oldstring替换为newstring,并将最终结果重命名为t.txt。我已经编写了代码。从技术上讲,它应该起作用。问题是我不知道在哪里保存FormatString.java文件。我是否将其保存在保存了ReplacingText程序的同一类文件夹中,还是将其保存在其他地方。我转到命

  • 国内服务器连接至各依赖库、包托管服务器的速度较慢,建议更换为国内镜像源地址,加快下载速度。 注意,国内镜像源地址更新速度不可能做到完全同步,例如阿里云镜像同步频率为每天一次,同步时间为每天凌晨2:00-4:00。替换后如遇到缺少包等错误,请换回官方源。 Pypi 更换 Python 的第三方仓库源 方法一:文件替换 树莓派 Raspbian、Hassbian、Mossbian: /etc/pip.

  • 问题内容: 有没有办法替换放置在HTML正文中的table元素内的普通文本? 喜欢用“ hi”代替“ hello”吗? 请仅使用不带 jQuery的* JavaScript 。 * 问题答案: 要用另一个字符串替换HTML中的字符串,请使用innerHTML的replace 请注意,这将替换整个正文的第一个实例,包括HTML代码中的任何实例(例如,类名等。),因此请谨慎使用- 为了获得更好的结果,