模版引擎实现动态生成Word文档,支持插入图片"/>
基于Velocity模版引擎实现动态生成Word文档,支持插入图片
1 前言
Velocity是一种基于Java的模板引擎,但允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象。了解更多…
在开发过程中,我们经常遇到动态导出各种各样格式的文件,如PPT、Excel、Txt、Word等,Velocity可以根据模版动态填充文件内容。本文主要介绍下如何使用velocity动态生成word文档,并支持插入图片。
2 创建模版
首先,我们需要一个word文档,按照Velocity的模版格式自定义好,后续以该文档作为模版动态填充内容并生成word文档。
2.1 模版定义
这里我以个人简历模版为例,如下图为原始的个人简历模版:
我们把个人简历模版里需要填写的内容,使用Velocity的变量替换,如姓名使用$name替换,出生使用$birthday替换等,替换后的模版如下图所示:
2.2 模版保存
前面按照Velocity格式定义好的个人简历模版使用office或者wps另存为xml格式,操作如下图所示:
打开xml文件,查看内容,检查所有替换内容是否正确,如$name是否存在,$和name是否连在一起写,如下图所示说明$name已经正确替换。
3 编码实现
模版创建好后,我们可以基于Velocity模版引擎,开始编码实现生成Word文档。
3.1 导入依赖
Velocity依赖
<!-- velocity -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
3.2 创建模版引擎对象
创建Velocity模版对象引擎
Properties properties = new Properties();
properties.setProperty(Velocity.INPUT_ENCODING, "UTF-8");//设置输入编码格式为UTF-8
properties.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");//设置输出编码格式为UTF-8
properties.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, templateDir);//设置模版所在的目录
//创建并初始化Velocity引擎对象
VelocityEngine ve &#
更多推荐
基于Velocity模版引擎实现动态生成Word文档,支持插入图片
发布评论