freemarker合并单元格,ifelse标签的使用,null空字符串处理
Posted 符华-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker合并单元格,ifelse标签的使用,null空字符串处理相关的知识,希望对你有一定的参考价值。
一、合并单元格
效果
1、制作表格模板
3、将制作好的word另存为xml文件
4、将xml文件进行格式化,然后直接修改后缀名,将xml格式改为ftl格式
5、关于数据,将要导出的数据处理好
6、ftl处理
在循环的数据行中,每一个 tr 里面会包含对应的 tc(单元格) ,找到对应的需要合并的单元格,在 <w:tcW> 下面添加逻辑判断,一定是在<w:tcW>下面。
<w:vMerge w:val=“restart”/> 这是合并开始的标签。
<w:vMerge/> 这是被合并的标签。
当一个单元格被添加了 <w:vMerge w:val=“restart”/> 标签时,此单元格开始向下合并。前提是下一个单元格必须有 <w:vMerge/> 这个标签。
如果每一个单元格都有<w:vMerge w:val=“restart”/> 标签,那么操作Word时这些单元格不可被选中编辑,里面会有内容,但是打印时内容出不来。
当一个单元格添加了<w:vMerge/>标签时,无论它上面的单元格是否有<w:vMerge w:val=“restart”/> ,它都会被上个单元格吞并。
只有第一行第一个单元格里面有<w:vMerge w:val=“restart”/> ,后面行的第一个单元格有<w:vMerge/> ,才会展现出合并的效果。
二、关于if、else标签的使用,判断是否为空
1、判断list的size是否大于0
<#if (list?size > 0)>
</#if>
2、处理null(如果不对null处理的话,会报错)
<#-- 字符串 -->
<w:t>${str!""}</w:t>
<#-- int类型 -->
<w:t>${sort!0}</w:t>
3、判断字符串不为null和不为空字符串
<w:t><#if str?default("")?trim?length gt 1>${str}</#if></w:t>
4、其他
判断多个条件,标签里可以用 && 和 ||
布尔值直接 <#if (flag)> 即可
以上是关于freemarker合并单元格,ifelse标签的使用,null空字符串处理的主要内容,如果未能解决你的问题,请参考以下文章
HTMLHTML 表格 ③ ( 合并单元格 | 跨行合并 | 跨列合并 | 单元格合并顺序 | 跨行设置 rowspan 属性 | 跨列设置 colspan 属性 )