有没有人有在 Word 文档上从 Java 进行邮件合并的经验?我需要同时支持 doc 和 docx 格式。
我听说过 Apache POI 和 docx4j。但是,通过阅读,我确信 POI 中的支持一词有多好。据我所知,docx4j 仅支持 docx 格式。
任何人都可以提出上述任何一个(并纠正我对支持的了解)或另一个合适的库。如有必要,我愿意为 doc 使用一个库,为 docx 使用另一个库。
谢谢。
Docx4j有一个MailMerger
类。它有效,但在此过程中去除了很多格式。
使用 MS Word 文档非常困难。DOC 格式非常复杂,DOCX 理论上更简单,但它比较新,没有成熟的、功能丰富的 Java 库可以使用它和 DOC。
Joel Spolsky 文章中描述了与使用 MS Office 文档相关的大多数问题的最简单解决方案。我希望您可以在您的应用程序中使用此方法。
查看 OpenOffice 以了解 [手动] 它是否可以生成您需要的文件类型。只需加载一些文档,并保存一些文档和 docx 版本。如果结果通过了这些简单的手动测试,那么Docmosis或JODReports可以通过 Java 自动执行此操作。
如果您愿意接受非免费的解决方案,Aspose 提供了看起来非常复杂的用于邮件合并的 Java API等等。
我需要类似的东西,并建立了一个简单的项目,它允许对 Word 文档和 Excel/CSV 文件中的数据进行邮件合并。
你可以在https://github.com/centic9/poi-mail-merge找到它,也许它已经在这里提供了你需要的东西,否则希望很容易添加更多功能。