最初我有一个 DOCX 模板文档。所以我得到 org.apache.poi.xwpf.usermodel.XWPFDocument 出来,假设它有 5 个 XWPFParagraph,例如:
<w:document>
<w:body>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
</w:body>
</w:document>
然后我从另一个 DOCX 文件中获取一个 XWPFParagraph,我需要将其插入到初始文档的第二个和第三个 XWPFParagraph 之间。像这样:
<w:document>
<w:body>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> inserted Paragraph </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
</w:body>
</w:document>
我该怎么做?
我可以说我尝试过的: - 我尝试使用 insertNewParagraph() 方法,但它看起来像是在创建新段落,但我需要插入从其他文档中获取的现有段落。
private void insertParagraphAfter(XWPFParagraph p1, XWPFParagraph p2) {
XWPFDocument doc = p1.getDocument();
XmlCursor cursor = p1.getCTP().newCursor();
XWPFParagraph newP = doc.insertNewParagraph(cursor);
newP = p2;
}
但它似乎不起作用。