Spring Boot 菜鸟教程 10 freemarker导出word下载

GitHub

src="//ghbtns.com/github-btn.html?user=je-ge&repo=spring-boot&type=watch&count=true" scrolling="0" width="110" height="20">

freemarker

  • FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
  • FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。

最终下载效果

这里写图片描述

项目图片

这里写图片描述

操作流程

  • 准备doc模版
    这里写图片描述
  • 另存为xml文件
    这里写图片描述
  • 修改名为userList.ftl后拷贝文件到src/main/resources
    这里写图片描述

怎样修改userList.ftl

Eclipse下如何打开ftl文件

  • 下载一个专门的ftl编辑器插件,然后在里面格式化;
  • 或者设置ftl的编辑器为jsp的编辑器,用它做format,eclipse->windows->preferences
    这里写图片描述

修改userList.ftl第一步

原来,注意rId4的位置
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
                    Target="word/document.xml" />
现在
<#list list as user> 
            <Relationship Id="rId${user_index}Png"
                Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
                Target="word/document.xml" /> 
</#list>

修改userList.ftl第二步

原来,注意rId4的位置,image1.png
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
                    Target="media/image1.png" />
现在
<#list list as user> 
                <Relationship Id="rId${user_index}Png"
                Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image${user_index}.png" />
</#list>

修改userList.ftl第三步

原来
<w:tr>
                            <w:tblPrEx>
                                <w:tblBorders>
                                    <w:top w:val="single" w:color="auto" w:sz="4" w:space="0" />
                                    <w:left w:val="single" w:color="auto" w:sz="4" w:space="0" />
                                    <w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0" />
                                    <w:right w:val="single" w:color="auto" w:sz="4" w:space="0" />
                                    <w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0" />
                                    <w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0" />
                                </w:tblBorders>
                                <w:tblLayout w:type="fixed" />
                                <w:tblCellMar>
                                    <w:left w:w="108" w:type="dxa" />
                                    <w:right w:w="108" w:type="dxa" />
                                </w:tblCellMar>
                            </w:tblPrEx>
                            <w:tc>
                                <w:tcPr>
                                    <w:tcW w:w="2130" w:type="dxa" />
                                    <w:vAlign w:val="top" />
                                </w:tcPr>
                                <w:p>
                                    <w:pPr>
                                        <w:pStyle w:val="4" />
                                        <w:jc w:val="center" />
                                        <w:rPr>
                                            <w:rFonts w:hint="eastAsia" />
                                            <w:lang w:val="en-US" w:eastAsia="zh-CN" />
                                        </w:rPr>
                                    </w:pPr>
             
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值