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 曾经也做过类似的小玩具 https://github.com/Naccl/Java2Doc |
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
|