2010-03-04 69 views
2

有沒有人有任何關於在Word文檔中從Java進行郵件合併的經驗?我需要同時支持doc和docx格式。來自Java的郵件合併

我聽說過Apache POI和docx4j。但是,從閱讀中我確信POI中的單詞支持有多好。就我所見,docx4j只支持docx格式。

任何可以建議上述任何一種(並糾正我的支持知識)或其他適當的庫。如果需要的話,我會願意使用一個lib作爲doc,另一個作爲docx。

謝謝。

回答

3

使用MS Word文檔非常困難。 DOC格式非常複雜,DOCX在理論上更簡單,但它相當新穎,沒有成熟的,功能豐富的Java庫可以與DOC和DOC一起工作。

在使用MS Office文檔時遇到的大多數問題的最簡單解決方案在Joel Spolsky article中描述。我希望你可以在你的應用程序中使用這種方法。

+0

謝謝,在嘗試使用Open Office API後,我不得不同意這篇文章。 – 2010-03-15 09:16:29

1

看看OpenOffice,看看[手動]是否能產生你需要的文件類型。只需加載一些文檔,並保存一些文檔和docx版本。如果結果通過了這些簡單的手動測試,那麼DocmosisJODReports可以從Java自動執行此操作。

+0

+1使用LibreOffice將doc轉換爲docx可能對您有效。然後在Java中,您可以專門使用docx。 – JasonPlutext 2011-03-05 23:15:57

2

Docx4j有一個MailMerger類。它的工作原理,但它在這個過程中刪除了很多格式。

+0

這幾天應該會更好.. – JasonPlutext 2014-02-26 05:47:28

0

我需要類似的東西,並建立了一個簡單的項目,允許從Excel/CSV文件進行Word文檔和數據的郵件合併。

你可以在https://github.com/centic9/poi-mail-merge找到它,也許它已經提供了你在這裏需要的東西,否則它很容易添加更多的功能。