Javaを使用してdocxドキュメントを操作するためにApache POIを使用しています。原理は簡単です:
- データを表示するための基本テンプレートがあります (テキスト、タイトル、表を含む)
- テンプレートを満たすデータがあります
- データ行ごとに繰り返されるテンプレートを含む最終ドキュメントを作成する必要があります
テンプレートドキュメントの読み込みに成功し、何も含まない最終的なドキュメントオブジェクトも作成しました(必要なスタイルを含む空のドキュメントから作成したため、失われません)。段落や表を参照してテンプレートのデータ フィールドを変更することはできますが、変更された内容を最終ドキュメントにコピーすることはできません。
基本的に、これは私が持っているものです:
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");
document
オブジェクトの内容をオブジェクトの最後にコピーする方法はありfinalDoc
ますか? (段落と表があり、スタイルがあります)