![]() | 1 wangsongyan 2023-01-09 23:21:47 +08:00 via iPhone freemarker+word xml |
![]() | 2 blankmiss 2023-01-09 23:25:10 +08:00 定义个模版 然后用 库去进行填充? |
![]() | 3 hhjswf 2023-01-09 23:36:46 +08:00 via Android 我的看法是数据给前端,前端渲染 html 转 word |
![]() | 4 Akitora 2023-01-09 23:40:12 +08:00 freemarker+word xml |
5 kwh 2023-01-09 23:40:48 +08:00 好像安装了 word 的 Windows 上可以通过命令调用转换成其他格式 |
![]() | 6 ElegantOfKing 2023-01-09 23:45:27 +08:00 我恰好在公司做这块的。结论直接告诉你:没有简单的。 调研过很多方案,没有一个合适的,最终只能自研。 建议不要接这个项目。如果真的要接的话,去看看 word 的组成 xml 如何组装,以及 poi jar 包下的一些工具。 |
![]() | 7 Naccl 2023-01-09 23:55:40 +08:00 freemarker+word xml 先用 word 写个模板导出 xml ,用 freemarker 填充 可以看看 https://github.com/pingfangushi/screw 曾经也做过类似的小玩具 |
![]() | 8 nodejx 2023-01-10 00:02:07 +08:00 |
![]() | 9 Suaxi 2023-01-10 00:06:01 +08:00 via Android 用 poi-tools 做过文字 + 不定长表格的导出,还行,不过可以试试楼上说的 freemaker + word xml ,以前组长用 jasper 做过按模板导出,也还行 |
11 lyonbrown4ddd 2023-01-10 00:13:49 +08:00 via iPhone 了解一下 pandoc ? 我记得好像可以 html 转 word 如果不行就先 makrdown 再 word |
12 Jirajine 2023-01-10 01:49:08 +08:00 如果要打印,那就渲染成 pdf ;如果要展示,那就渲染成 HTML 。转成 word 很简单,但是对效果有任何要求的,不拥抱开放格式那就踩坑去吧。 |
13 Z0dVmSoDcLSO49S4 2023-01-10 06:29:54 +08:00 via Android |
14 t202201 OP @lyonbrown4ddd 我之前浅浅地用过 pandoc ,当时还是用命令行,不知道有没有 java 的 api |
15 inrmsYu 2023-01-10 08:41:52 +08:00 easyPOI 映射实现 |
![]() | 16 tedzhou1221 2023-01-10 08:49:19 +08:00 poi-tl ,用 freemarker 太难维护了。用了 poi-tl 之后真爽。 |
17 luoyonghao 2023-01-10 09:18:45 +08:00 用 poi-tl 吧,我最近做的公司报表就是基于 poi-tl 做的,你的需求很容易实现,目前我的报告实现了普通文本、表格、有序列表、图表( word 图表),合并单元格,还可编写自定义插件实现别的样式,甚至还有代码高亮 |
![]() | 18 Hyakutake 2023-01-10 09:21:46 +08:00 不懂原始需求,如果可以用模板优先关键字加模板,这种最简单。 如果不可以用模板实现,我建议直接 POI ,楼上说的那些基本都是用 POI ,封装一些接口出来方便使用的,我不建议用。更倾向直接 POI ,可以研究一下。另外 注意 office 版本。要兼容。 |
19 weijiagege 2023-01-10 09:36:11 +08:00 做过类似的需求,也一样是文字,表格,以及 echart 图片等,另外模板内容不固定随时变换,当时讨论后最终选择让前端来导出。前端做的就是将数据拼装成对应的 html 字符串,后面转 blob 然后调插件导出 docx 文件。坑略多但总体效果还可以。 |
20 ql562482472 2023-01-10 09:41:36 +08:00 有开发能力就用 poi 没有就用 poitl 或者 easypoi 很容易。 |
21 lwc645089781 2023-01-10 10:06:05 +08:00 aspose word 非常简单,效果也是最好的。只是不免费 |
![]() | 22 Mandelo 2023-01-10 10:08:55 +08:00 用模板填充的路过,表格头像都可以 |
23 nyar 2023-01-10 10:16:02 +08:00 aspose word 来做很简单,aspose 网上也有破解版,可以先试试效果。 |
24 Gavin666 2023-01-10 10:40:47 +08:00 关键词:libreoffice |
![]() | 25 OrangeAdd 2023-01-10 10:43:32 +08:00 楼主可以看看这个 http://deepoove.com/poi-tl ,亲测挺好用的。 |
![]() | 26 LovelornOwl 2023-01-10 10:54:12 +08:00 java 导 word 用 docx4j |
27 nitmali 2023-01-10 11:08:43 +08:00 jxls |
![]() | 28 YvenChang 2023-01-10 11:11:22 +08:00 我司一开始用的最简单直接的方法就是组装一个 html 然后输出成 docx 后缀的文件,office 可以直接打开 html 文件,但是问题是对他做任何修改都会在本地生成一个 html 资源目录。 解决方案就是组装成 mhtml 格式就能让这些资源都保存在一个文件里。 但是...emmm 就是会有各种奇奇怪怪的问题。 最好的方案当然还是找个成熟的框架,不过这个方法应急还是可以的。 |
![]() | 29 xuanbg 2023-01-10 11:19:19 +08:00 POI |
30 gg1025 2023-01-10 11:23:31 +08:00 poi-tl 神器 |
31 lyonbrown4ddd 2023-01-10 14:12:50 +08:00 @t202201 pandoc 我记得没有 java api 拿 command 方式调用么 我觉得这个是最简单的方式了 只是需要集成一下 pandoc |
32 b1gCi 2023-01-10 23:15:35 +08:00 via Android 原来做过几年相关的开发,推荐 docx4j ,不行就自己 freemarker 生成 word xml |