poi操作word替换文本框里的内容
生活随笔
收集整理的這篇文章主要介紹了
poi操作word替换文本框里的内容
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
poi操作word替換文本框里的內(nèi)容
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();} }總結(jié)
以上是生活随笔為你收集整理的poi操作word替换文本框里的内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python在地图上标注点_只要两步,用
- 下一篇: [EXtJS5学习笔记]第一节 Senc