idea+springboot+freemarker。Java生成word导出
2019-12-16 补充
ftl文件对于为空的字段,会报错 ,我选了其中一种方式,批量在后面添加为空则显示空字符串
${item.unit!""}
针对list为空的情况,
在list上面添加if命令
<#if list?? && (list?size > 0)>
<#list list as item>
</#list>
</#if>
一、主要依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
二、模板文件
第一步
按照下图,设置模板的key 语法 ${xxx} , 循环列表先写一个key,后续在xml文件处理
第二步
文件另存为xml,如图
第三步
使用notepad++或者网页或者其他文件,格式化xml文件,如图
格式化后,会发现,之前写的${xx}位置,被拆开。需要手动还原,还原过程,如图
第四步
处理循环列表,先找到位置,如图
然后和之前检查一样,把自动分开的语句,整合到一起。
在开头和结束,添加循环语句,第一个list为固定语句,后面list为传入的key,需要和代码map中的key一致。
之前的date部分,改为
其他字段不一一列举,操作一样。list结束,增加对应结束