Java 导出 Word 表格有什么好的办法?

2017-02-17 14:36:07 +08:00
 ooTwToo

尝试过了 POI ,导出 Excel 还不错,但是导出 Word 就比较弱了。设置样式合并单元格非常麻烦,导致代码混乱、可读性差。

所以有没有好的办法?

2321 次点击
所在节点    Java
11 条回复
xiaobu945
2017-02-17 15:05:21 +08:00
用 XML 方式,提前设计好 word 模板,把需要替换的地方用特殊标记标出来
depress
2017-02-17 15:10:38 +08:00
poi 只适合用来操作 Excel ,隐约记得 jacob 对 word 支持比较好
ooTwToo
2017-02-17 15:34:02 +08:00
@xiaobu945 对于复杂的表格,模板是做不到的。比如表格内容不固定的情况下。
ooTwToo
2017-02-17 15:42:04 +08:00
@depress jacob 是通过 Java 的 JNI 调用本地的 Com 接口,也就是说,最终操作 Excel 、 Word 的还是你本地机器上的 Office 组件, Jacob 只是提供了一个调用的桥接而已,这也就限定了 jacob 只能在 windows 的操作系统上应用,并且该系统必须也已经安装了 Office 组件。
depress
2017-02-17 16:19:55 +08:00
@ooTwToo ...jacob 这么坑,还好之前没用...那我就想不到其他对 Word 友好的库了...
murmur
2017-02-17 16:23:09 +08:00
@xiaobu945 这个必须有一步操作,就是调用 office 另存为,而这步还是跑不掉 jacob

能不能退而求其次,用户不编辑给他个 pdf 可以么
ooTwToo
2017-02-17 16:29:11 +08:00
@murmur 可以考虑下。如果导出 pdf 的话,我会选择 html 转 pdf ,不知道有什么更好的办法?
murmur
2017-02-17 16:34:17 +08:00
@ooTwToo 不知道你们是啥 我们用的 birt 导出报表的 没做太复杂的东西
ooTwToo
2017-02-17 16:46:55 +08:00
@murmur 看了下 birt 不错啊!但是和我们的使用场景不一致,我们是在程序里组装好数据,然后才导出~
xxdd
2017-02-17 16:51:22 +08:00
用过 freemarker

改模板眼睛都快瞎了
davidway
2017-02-20 20:40:43 +08:00
POI 不是比较好吗。。 WORD 和 excel 都支持,而且是 apache 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/341187

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX