2017-07-15 13 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。

我會在這裏留下記錄。