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 属性 )

表格标签

html中,如何固定table单元格宽度?

table标签的td如何横向、纵向合并?

table边框表头单元格空间合并等设置