Ms word 将docx复制到另一个docx的末尾
我使用ApachePOI使用java处理docx文档。原则很简单:Ms word 将docx复制到另一个docx的末尾,ms-word,apache-poi,Ms Word,Apache Poi,我使用ApachePOI使用java处理docx文档。原则很简单: 我有一个基本模板来显示数据(带有文本、标题和表格) 我有数据可以填充模板 我需要生成一个最终文档,其中包含为每个数据行重复的模板 我已经成功加载了模板文档,并且还创建了最终的文档对象,该对象不包含任何内容(来自一个包含我想要的样式的空文档,因此我不会丢失它们)。我可以通过浏览段落和表格来更改模板中的数据字段,但我不能做的是将已更改的内容复制到最终文档中 基本上,这就是我所拥有的: for (int i=0; i<10;
- 我有一个基本模板来显示数据(带有文本、标题和表格)
- 我有数据可以填充模板
- 我需要生成一个最终文档,其中包含为每个数据行重复的模板
for (int i=0; i<10; i++) {
finalDoc.removeBodyElement(i);
}
for (int i=0; i<10; i++) {
//EditableDocX is a subclass of XWPFDocument, for purpose of my project
EditableDocX document = new EditableDocX("template.docx");
replacementMap.put("[field1]", "Content1_"+i);
replacementMap.put("[field2]", "Content2_"+i);
document.replaceWithMap(replacementMap); //I've have this working
finalDoc.addContentOfDoc(document); //I don't have this working :(
}
finalDoc.saveFile("result.docx");
for(inti=0;i我最终改变了库:docx4j对于我想做的事情更有用。
仅供参考,以下是在另一个文档末尾追加文档所需的代码:
public static void append(WordprocessingMLPackage docDest, WordprocessingMLPackage docSource) {
List<Object> objects = docSource.getMainDocumentPart().getContent();
for(Object o : objects){
docDest.getMainDocumentPart().getContent().add(o);
}
}
public static void append(WordprocessingMLPackage docDest,WordprocessingMLPackage docSource){
列表对象=docSource.getMainDocumentPart().getContent();
用于(对象o:对象){
docDest.getMainDocumentPart().getContent().add(o);
}
}
这对我很有用,它将内容从docSource复制到docDest,保持格式不变