欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

poi操作word替换文本框里的内容

发布时间:2023/12/18 编程问答 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 poi操作word替换文本框里的内容 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

poi操作word替换文本框里的内容

import java.io.FileOutputStream; import java.io.FileInputStream;import org.apache.poi.xwpf.usermodel.*;import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlCursor;import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;import java.util.List; import java.util.ArrayList;public class WordReplaceTextInTextBox {public static void main(String[] args) throws Exception {XWPFDocument document = new XWPFDocument(new FileInputStream("WordReplaceTextInTextBox.docx"));String someWords = "TextBox";for (XWPFParagraph paragraph : document.getParagraphs()) {XmlCursor cursor = paragraph.getCTP().newCursor();cursor.selectPath("declare namespace w='http://schemas.openxmlformats.org/wordprocessingml/2006/main' .//*/w:txbxContent/w:p/w:r");List<XmlObject> ctrsintxtbx = new ArrayList<XmlObject>();while(cursor.hasNextSelection()) {cursor.toNextSelection();XmlObject obj = cursor.getObject();ctrsintxtbx.add(obj);}for (XmlObject obj : ctrsintxtbx) {CTR ctr = CTR.Factory.parse(obj.xmlText());//CTR ctr = CTR.Factory.parse(obj.newInputStream());XWPFRun bufferrun = new XWPFRun(ctr, (IRunBody)paragraph);String text = bufferrun.getText(0);if (text != null && text.contains(someWords)) {text = text.replace(someWords, "replaced");bufferrun.setText(text, 0);}obj.set(bufferrun.getCTR());}}document.write(new FileOutputStream("WordReplaceTextInTextBoxNew.docx"));document.close();} }

总结

以上是生活随笔为你收集整理的poi操作word替换文本框里的内容的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。