一、前言

本篇博客主要讲FreeMarker模板导出的Word模板和Excel模板,两者制作方法都是相似。FreeMarker模板中需要用到FreeMarker的语法知识,需要一定的语法基础。

FreeMarker官方中文参考手册:http://freemarker.foofun.cn/ref_directive_ftl.html

二、Excel模板制作

2.1 制作excel表格模板,选择 新建 Microsoft Excel 工作表.xlsx 工作表

2.2 文件---> 另存为,选择 XML电子表格2003(*.xml),生成后缀名为 .xml 的模板表格

2.3 编辑器打开生成.xml模板表格,找到需要替换的内容,用FreeMarker语法代替和逻辑处理

2.4 删除模板的行数和列数限制

如果你的模板行数和列数是可变的,需要删除这个行列数值,或者通过FreeMarker语法自动调整行列数值

总之,如果标记行列数值比实际的行列数小,就会导致无法打开生成的文档。

2.5 将修改后的xml文件修改后缀名为 .ftl,这样excel的FreeMarker模板就制作完成

2.6 效果

三、Word模板制作

2.1 制作word文档模板,选择 新建 Microsoft Word 文档.docx 文档

2.2 文件-->另存为,选择 Word 2003 XML文档(*.xml),生成后缀名为 .xml 的模板文档

2.3 打开生成的 .xml模板文档,代码进行了压缩,进行格式化

XML压缩/格式化网址:https://www.sojson.com/xml.html,将被要压缩的代码复制到网址中,进行格式化,然后复制粘贴回来即可。

2.4 编辑器打开生成.xml模板文档,找到需要替换的内容,用FreeMarker语法代替和逻辑处理

2.5 将修改后的xml文件修改后缀名为 .ftl,这样word的FreeMarker模板就制作完成

2.6 效果

四、后记

1. 如果导出功能报错,显示模板除了问题,大概率是字段名称不一致或者该字段为空。你需要仔细检查或者对可能为空的字段做判断( 例:${studentNum!0} )。

2. 祝你好运。

FreeMarker模板制作相关推荐

  1. Java之利用Freemarker模板引擎实现代码生成器,提高效率

    开心一笑 [1.你以为我会眼睁睁的看着你去送死?我会闭着眼睛.2.给你讲个故事,从前有个笨蛋,他非常笨,别人问他问题他只会回答"没有",这个故事你听过吗?] 视频教程 大家好,我录 ...

  2. Java项目中利用Freemarker模板引擎导出--生成Word文档

    应邀写的一篇文章:Java项目中利用Freemarker模板引擎导出--生成Word文档 资源下载:https://download.csdn.net/download/weixin_41367523 ...

  3. 制作android布局模板,Android模板制作

    本文详细介绍模板相关的知识和如何制作Android模版及使用,便于较少不必要的重复性工作.比如我在工作中如果要创建一个新的模块,就不要需要创建MVP相关的几个类:Model.View.Presente ...

  4. 使用freemarker模板生成带图片的word--xml格式

    文章目录 前言 一.制作freemarker模板 1. 准备模板 2.修改模板 二.后台代码 1.引入freemarker依赖 2. freemarker工具类方法 3. 测试方法 三.测试结果 总结 ...

  5. 使用freemarker模板生成带图片的word--html格式

    文章目录 前言 一.制作freemarker模板 二.修改模板 三.后台代码 四.结果 总结 前言 用户需要预览word的功能,word里面带了很多图片,本文选择生成html格式的word来提供该功能 ...

  6. Spring 4 使用Freemarker模板发送邮件添加附件

    前言 Spring对Java的邮件发送提供了很好的支持,提供了超级简单的API,大大简化了Java邮件发送功能的开发. Spring对Email的支持是基于JavaMail API开发的,所以,我们在 ...

  7. portainer忘记用户名密码_【20201122】做个用户管理系统(6)——忘记密码页面、重置密码方式页面的模板制作...

    1. 介绍 1.1 介绍 今天福哥跟大家完成忘记密码页面和重置密码方式页面的模板的制作,这里面忘记密码和重置密码方式是一个操作流程的前两步,是连续的表里的设计.这种多步骤表单在的设计需要一些技巧的,我 ...

  8. freemarker模板文件中文本域(textarea)的高度自适应实现

    2019独角兽企业重金招聘Python工程师标准>>> freemarker模板文件中实现文本域(textarea)的高度自适应实现. 从网上找的大部分办法中很多方法兼容性并不好,要 ...

  9. 制作模板_木模板制作流程

    木模板制作流程: 1.采用松木和桉木.木模板采用马尾松木面板,国产桉木做芯板,板面平整光亮,锯开无空洞,模板周转次数高 . 2.刨制成单板.木模板要求所有单板(无论是芯板还是面板)必须是无破损的一级板 ...

  10. JFinal配合Shiro权限控制在FreeMarker模板引擎中控制到按钮粒度的使用

    实现在FreeMarker模板中控制对应按钮的显示隐藏主要用到了Shiro中的hasRole, hasAnyRoles, hasPermission以及Authenticated等方法,我们可以实现T ...

最新文章

  1. ISA系列之ISA Server 2004 中的新增功能--利用多个网络
  2. hls.js播放hls直播源
  3. python 把数据 json格式输出
  4. 移动端适配 rem
  5. Quality Center Issue with CAPICOM.DLL not prop...
  6. The Apache Tomcat installation at this directory is version,tomcat
  7. Vue基础之Vue模板语法
  8. 在Google Maps 上点击标签后显示说明
  9. wow mysql dbc_DBC中悲观锁介绍附案例详解
  10. WCF读取配置动态生成客户端对象
  11. 学习进度(2016.5.1)
  12. pythonshell窗口是什么_python与shell的3种交互方式介绍
  13. 爬虫提交form表单中含有(unable to decode value)解决方法
  14. java版AES加密算法实现
  15. 大话2虚拟服务器怎么弄,大话西游2公益服风云1.0虚拟机镜像手工启动服务端+启动教程+客户端IP修改教程+数据库工具...
  16. 服务器,Linux,centos7成功安装显卡驱动(超详细)
  17. 微服务Spring Boot 整合 Redis 实现好友关注 – Feed流实现推送到粉丝收件箱
  18. hibernate创建配置遇到问题:!-- https://mvnrepository.com/artifact/javassist/javassist -- dependency
  19. 写在20110918:Eclipse中的outline标识以及常用快捷键
  20. 前端页面中根据链接随机生成二维码

热门文章

  1. 数学分析教程(科大)——2.7笔记+习题
  2. android robotium教程,Robotium + Android studio
  3. 第48次《中国互联网络发展状况统计报告》发布--报告解读
  4. powerdesign导出表结构
  5. 怎样恢复误删计算机管理员,请问误删了系统管理员的一个帐户,怎样恢复?
  6. 主编推荐 | 南大周志华、俞扬、钱超最新力作导读
  7. 武汉大学信息学部到计算机学院,武汉大学信息科学学部
  8. 酒店客房管理系统JAVA-SSM-MYSQL
  9. 20190303-AJAX教程
  10. [CTF]学习资源推荐