freemarker合并单元格,if、else标签的使用,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)> 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

符华-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值