您知道是否有办法在段落完整文档(XWPFDocument)中插入段落(XWPFParagraph)?。
有一种方法可以将文档中已经存在的段落“更改”到另一个段落(XWPFDocument.setParagraph())但我不知道如何将新段落插入文档中的特定位置,而不是最后是XWPFDocument.createParagraph()。
答案 0 :(得分:6)
我找到了解决方案。 XWPFDocument有一个丑陋的方法insertNewParagraph(org.apache.xmlbeans.XmlCursor cursor)。如您所见,此方法是从xmlbeans库传递的XmlCursor。然后我们可以这样做:
XmlCursor cursor = par.getCTP().newCursor();
XWPFParagraph new_par = doc.insertNewParagraph(cursor);
new_par.createRun().setText("Stupid text");
Par是XWPFDocument文档中的XWPFParagraph。插入的新段落(此片段中的new_par)将在XmlCursor指向的XmlObject之前插入。
希望这有助于某人。
答案 1 :(得分:3)
我也花了几个小时来解决这个问题。我有与上面评论中提到的相同的问题。对我有用的是:
找到要在document.getParagraphsIterator()
中插入的正确段落后,我不得不使用此代码
XmlCursor cur = para.getCTP().newCursor();
cur.toNextSibling();
能够doc.insertNewParagraph(cur)
。
据我所知,我的下一个错误是尝试在光标位置插入几个段落。为了完成这项工作,我必须在插入后添加cursor.toNextToken();
。
答案 2 :(得分:0)