您需要的方法是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"));


