poi操作word替换文本框里的内容
生活随笔
收集整理的这篇文章主要介绍了
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替换文本框里的内容的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python在地图上标注点_只要两步,用
- 下一篇: ARM嵌入式——堆栈寻址