2017-07-15 17 views
0

我有一个例子.docx模板用文字加占位符键如下图所示:的Java POI/docx4j生成的Word文件与几个重复的条目

I ${Full_Name_n} accept terms and condition stated in ${Signed_Doc_n} and is liable for ... 

有来自docx4j阵营一个优雅的方法,可以产生1 .DOCX对于n使用上述文本块的人数?

我有一个POI类,这样做我将n个.docx合并到1,这是非常肮脏,不能接受的性能明智。

P.S.模板文本会将段落和段落暂挂到表格中。图像不会涉及。

例如这里是我的模板保存在1个字的文件:

I ${Full_Name_n} accept terms and condition stated in ${Signed_Doc_n} ... 

而这正是我期望得到的输出,即在1个字文件的几个条目:

I Bill smth accept terms and condition stated in article 10 ... 

I John smth accept terms and condition stated in article 21 ... 

I Sterling smth accept terms and condition stated in article 11 ... 

I Joshua smth accept terms and condition stated in article 13 ... 
+0

是否要创建输入docx的N个副本(在单个输出docx中)或输入docx的1个副本(包含重复部分,例如表的行,列表项或其他)?这两个都可以使用docx4j。 – JasonPlutext

+0

我的输入docx在一个输出docx的N个副本我假设 –

+0

隐藏的扩展表不会这样做,因为INPUT可能包含文本和隐藏/可见表 –

回答

0

尽管由Jason推荐的邮件合并是在Java中唯一的clean解决方案,但我的方法是POI/docx4j-less PLSQL。

对于不那么复杂的.docx报告来说很脏但很容易。

因为我在weblogic服务器上使用PLSQL,所以我的方法就是直接将少量表格中的HTML +文本循环到JSP中,然后将内容类型设置为docx。

我会在这里留下记录。