使用freemarker插件,在浏览器生成word并提供下载

欢使用freemarker生成复杂的word

在开发中总会有很需求,当然导出word也很常用,接下来就看一下是如何在html生成的word。

1.使用freemarker需要注意的点

  1. 对于刚接触Freemarker得人来说,不用太深入了解freemarker,但是要知道基本使用的xml的标签有哪些,可以再循环list集合中更快速,更准备的找到对数据进行处理的位置,根据个人情况对数据进行快速处理。
(1)<w:t>:字符串,输入的文字内容
(2)<w:r>:表示行
(3)<w:p>:表示段落
(4)<w:tbl>:表示一个form表单
  1. 对于复杂的word,可能一个word文档中有很多的东西需要展示,可能是一个对象,可能是一个集合,也可能有很多的图片等,所以最基本常用的指令我们也应该知道,知道他的写法规范。
(1)
	<#if>    
	  ‘内容’
	<#elseif>    
	  ‘内容’
	<#else>    
	  ‘内容’
	</#if>
	
(2)
	<#list dataList as item>
    </#list> 
注:list为固定写法,dataList 为传过来的集合数据,对集合进行遍历,as相当于分配,
 item为遍历出的每个对象。

2.freemarker自动生成并下载到本地的word模板

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.使用freemarker的步骤

(1)首先我们要把想生成的模板中对应的数据使用** ${}**表示出来,如果有先要显示的图片我们就要把带图片的部分用一个图片把位置站出来,随意找来一张图片就可以。
如下图
把需要自动获取的数据用对象或者集合封装好"

对于图片,在想要插入的图片的地方使用图片把位置站出来,可以随意设置图片
(2)将处理好的word文档保存成xml文件格式
如下图
在这里插入图片描述
(3)将保存好的xml文件使用工具打开,我使用的是Nodepad++,打开后使用xml在线转换工具格式化,并替换Nodepad++中的内容

xml在线格式化工具

如下图
在这里插入图片描述
在这里插入图片描述
(3)接下来我们就需要手动去更改一些配置,在xml转化的过程中会出现同一个数据被拆分成多个数据,这里我们就需要把数据整合成一个整体,否则freemarker识别不出来,并且对需要一些内容进行遍历
如下图:
整合数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
list的遍历
在这里插入图片描述
if的使用,遍历图片
在这里插入图片描述
最后一步,将xml文件更改为后缀为.ftl的文件

4.后台的代码

(1)实体类
注意&

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值