有没有人有过在word文档上用Java进行邮件合并的经验?我需要支持doc和docx格式。
我听说过Apache POI和docx4j。但是,从阅读中我可以肯定POI中的支持这个词有多好。 docx4j只支持docx格式。
可以建议上述任何一种(并纠正我对支持的了解)或其他适当的库。如果有必要,我愿意使用一个lib作为doc,另一个作为docx。
感谢。
答案 0 :(得分:3)
使用MS Word文档非常困难。 DOC格式非常复杂,DOCX在理论上更简单,但它相当新,并且没有成熟的,功能丰富的Java库可以与它一起使用和DOC。
Joel Spolsky article中描述了与使用MS Office文档相关的大多数问题的最简单解决方案。我希望你可以在你的应用程序中使用这个方法。
答案 1 :(得分:2)
Docx4j有MailMerger
个班级。它有效,但在此过程中删除了大量格式。
答案 2 :(得分:1)
查看OpenOffice以查看[手动]是否可以生成所需的文件类型。只需加载一些文档,并保存一些文档和docx版本。如果结果通过了这些简单的手动测试,那么Docmosis或JODReports可以从Java自动执行此操作。
答案 3 :(得分:1)
如果您对非免费解决方案持开放态度,Aspose会提供看似非常复杂的Java API for mail merging等内容。
答案 4 :(得分:0)
我需要类似的东西并构建了一个简单的项目,它允许对Word文档和Excel / CSV文件中的数据进行邮件合并。
您可以在https://github.com/centic9/poi-mail-merge找到它,也许它已经提供了您需要的内容,否则很容易添加更多功能。