Spring Boot-导出word

本文档详细介绍了如何使用Spring Boot结合模板导出Word文档,包括制作和编辑模板、图片及表单处理、功能调用的步骤,并提供了测试结果。
摘要由CSDN通过智能技术生成

背景

因项目需求,需要将数据填充到客户提供的word模板中导出供打印使用,故写此说明。

依赖

<!--加入freemarker模版引擎-->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-freemarker</artifactId>
	</dependency>

制作模板

打开文档,填写模板内容

模板示例如下:
在这里插入图片描述

保存文件,另存为时选择类型

在这里插入图片描述

修改文件后缀名

将模板后缀名修改为ftl即可
在这里插入图片描述

将模板加入项目中,位置为templates/ftl/

在这里插入图片描述

编辑模板

图片处理

修改图片位置

注意: 对于图片,修改的位置主要有三个地方,第一个是声明的地方,第二个是图片实际地址,第三个是图片的base64。如果导出时有多张图片,则需要添加遍历,所以需要考虑。

base64位置

在这里插入图片描述

删除base64留下空白内容

在这里插入图片描述

因为图片可能有多张,所以修改如下:

在这里插入图片描述
备注

  • 红标1:图片下标,标识多张图片,声明图片中需要用到。注意文件格式,以及名字保持一致。
  • 红标2:图片的base64内容,需要将图片的base64获取(在后端通过工具操作得到)。
声明图片的地方

在这里插入图片描述

注意:红标的地方,这是图片声明的id,会在word内容中引用。因为图片是多张,所以这里id也需要遍历生成。

在这里插入图片描述

备注

  • 红标1:后缀带Png或者其他内容,别不带,切记。
  • 红标2:与步骤(1)的下标以及图片后缀一致。
图片实际地址

找到图片内容的位置,收缩该标签。
在这里插入图片描述

因为图片可能存在多张,所以循环w:r
在这里插入图片描述
修改<w:r>中的内容,更改引用id
在这里插入图片描述

单张图片处理

如果是单张图片,直接设置base64数据即可。找到头像的base64位置,删除base64数据,然后设置base64数据即可。其余保留不变。 注意:判断是否为空
在这里插入图片描述

表单处理

找到填写的内容位置,删除模板填写的内容,填写对应的表达式即可。注意:可能值为空,一定要加入判断,比如下面的姓名,否则会报错!

<#if studentInfo.name??>${ studentInfo.name }<#else></#if>

在这里插入图片描述

功能调用

在这里插入图片描述
超链接中的方法名可以随意定义
在这里插入图片描述

参数说明:

<
参数 类型 说明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值