利用freemarker生成word(带图片)

freemarker是利用模板动态生成数据的形式的一种模板引擎,以下陈述纯属个人学习过程中的见解至于基本概念就不在此介绍(可以自行百度):

        个人认为在以下情况比较适合利用freemarker:对于格式比较固定(重复循环情况同样适用),基本格式不会有太大变化, 数据类型确定(同一个地方是图片或文字内容不确定,也可能处理起来比较麻烦在此不做讨论),内容很多变量相对较少等,他可以处理各类形式文件,本文以word为模板。

    废话不多说看例子

利用freemarker生成word(带图片)_第1张图片 

如上图所示是我们平时用的一个word表格的例子,我们要做的就是把可变元素当成变量然后再我们的程序中动态给它赋值,

首先我们要保存模板,我们可以把上文的word另存为,格式可自选(前提是该文本支持页面内容,如:有图片纯文本不可能达到要求),很多资料选择“word 2003xml文档”,我们也暂且使用它

利用freemarker生成word(带图片)_第2张图片 
 将保存文件打开,将原有word中的变量用${id}替换掉,文中有很大一段/9j/4AAQSkZJR........(为图片代码),直接替换为${img}即可

利用freemarker生成word(带图片)_第3张图片 

​接下来就是java代码阶段 ,比较简单不做解释(途中有一些异常我直接抛出,根据要求捕获处理)

 利用freemarker生成word(带图片)_第4张图片 


你可能感兴趣的:(JAVA)