利用freemarker生成word(带图片)

本文探讨了Freemarker模板引擎在处理固定式内容、数据类型确定及变量较少场景中的优势,通过实例展示了如何使用该引擎将模板文件转换为Word文档,并在Java代码中动态填充变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

    废话不多说看例子

 

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

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

 
 将保存文件打开,将原有word中的变量用${id}替换掉,文中有很大一段<pkg:binaryData>/9j/4AAQSkZJR........</pkg:binaryData>(为图片代码),直接替换为<pkg:binaryData>${img}</pkg:binaryData>即可

 

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

  


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值