如果只是生成简单的word文件的话可以使用 Hutool
上手简单使用方便。
但如果需要导出内容比较复杂的word文件的话用那个就不合适了,这时候就需要Xdocreport这玩意了。
制作模板
新建一个word文档在需要插入变量的地方使用快捷键 Crtl + F9 来生成一个域
然后右键单击这个域,选择编辑
然后找邮件合并,编辑变量名,变量名需要用${},包起来。这边需要注意的是有些软件编辑Word时,他们的合并邮件选项可能不是我这种样子的,还需要自己找一下。
这就是一个变量编辑完后的样子。
这个变量的书写方法是freemaker语法,其他的语法可以参考这篇文章:Xdocreport和Freemaker生成docx
这是我写的一个简单模板,下面的代码就按照这个模板来写了。(这个模板是要放到项目里的)
maven 依赖
word模板导出代码
大致思路,就是先声明一下输入输出流,输入流inputStream就是从Resource目录下存放的word文档模板读取到的。而之所以流的声明要写到try的括号里,是因为这样可以节省关闭流的步骤。
随后获取到模板对象report,使用该对象创建其上下文对象,然后将模板对的对应变量放进上下文对象context中。
然后就是设置一下输出流的格式,以及输出的文件名。然后就是使用report将文件生成并导出。
后面的那个捕获异常,是我懒的导入日志,就直接用sout了。实际工作中还是要用log.error来打印报错信息的。
导出结果
最后将生成的文件给大家看一下。