您的位置 首页 java

java如何生成动态Word文件

一、需求:

你们项目中,是否有这么一个需求,用户在你的应用页面中,选择填充一堆数据,然后点击确定生成,系统会因你填充的数据而生成一份对应的Word文档。比如下图是一个word文档,打开后是这样的内容,使得$符号是需要动态填充的数据,也就是前面需求所说的,把用户在你页面填写数据动态录入到以下文档(模板)中,然后生成的是一个完整的数据文档。

二、开发:

这里只介绍使用思路,要完成这个,需要引用一个Jar包,aspose-words-14.11.0.jar 。大家可以在网上下载,版本不一定需要我这个。要完成这个需求的思路是,首先需要有一个模板,也就是上面那种,模板内容自定义,就算是空白也行,但$符号至少要有一个。然后使用aspose-words的接口进入数据替换,把你接口的数据填充到对应的$符号中的位置上。最后是导出生成的文档。另外模板中的$符号只是点位符,可以是任意,只要跟接口是一样的即可。

1、controller层:我用的是spring boot+ Swagger 。@apiParam只是接口参数,若没用swagger的可以按你们其他习惯写接口参数,这里使用 Map 进行文件存储,Map中的key是模板中所对应的点位符号

2、 service

三、测试阶段:

代码很简单,这样就算完成了,接着我使用Swagger进行测试一下

测试调用成功,以下就是生成出来的文档。为什么内容有下划线?原因就是模板中${content}是什么格式的,他替换的文字也会是什么格式,这样在你设计模板时,可以对他进行字体,颜色等进行初始化设置。如果有对Swagger感兴趣的,可以查看我另外写的一篇《在Spring Boot中如何配置Swagger》。后续会分享 Doc PDF ,还有图片合成等技术。

文章来源:智云一二三科技

文章标题:java如何生成动态Word文件

文章地址:https://www.zhihuclub.com/177310.shtml

关于作者: 智云科技

热门文章

网站地图