Freemarker 使用记录
1.数字超过1000时会有逗号 ,设置数据格式 <#setting number_format="#">
2.数据叠加 求总计:
1)定义变量:<#assign baseInfoTotalpower =0?number>
2)循环中判空后累加,每次累加需要将数据转为数字,不然最后结果会是字符串的拼接:
<#if info.deviceUsePower??>
<#assign baseInfoTotalpower = baseInfoTotalpower?number+deviceUsePower[info.deviceId]?number>
</#if>
3.设置默认值:<w:t>${deviceUsePower[info.deviceId]?default(0)}</w:t>
4.在word中合并单元格,例:
<#if info_index == 0 >
<w:tc>
<w:tcPr>
<w:tcW w:w="2522" w:type="dxa"/>
<w:vMerge w:val="restart"/>
<w:tcBorders>
<w:top w:val="single" w:color="000000" w:sz="6" w:space="0"/>
<w:left w:val="single" w:color="000000" w:sz="6" w:space="0"/>
<w:bottom w:val="single" w:color="000000" w:sz="12" w:space="0"/>
<w:right w:val="single" w:color="000000" w:sz="6" w:space="0"/>
</w:tcBorders>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:widowControl/>
<w:jc w:val="center"/>
<w:textAlignment w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
<w:t>0.</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
<w:t>85</w:t>
</w:r>
</w:p>
</w:tc>
<#else>
<w:tc>
<w:tcPr>
<w:tcW w:w="2522" w:type="dxa"/>
<w:vMerge w:val="continue"/>
<w:tcBorders>
<w:left w:val="single" w:color="000000" w:sz="6" w:space="0"/>
<w:right w:val="single" w:color="000000" w:sz="6" w:space="0"/>
</w:tcBorders>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:widowControl/>
<w:jc w:val="center"/>
<w:textAlignment w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
</#if>
5.for循环:<#list 1..count as i> ${i}</#list>
6.map循环:
<#list map?keys as key >
${keys_index?if_exists+1} //获取序号 先判空,如果没有就从1 开始
${loopDevice[key]}//获取值
</#list>
7. 大小比较
>(gt) :判断左边是否大于右边
>=(gte) :.....
<(lt) :.....
<=(lte) :.....
列:<#if UAnalyze[key].minUB lt 204.6>
8.导出word 只能用wps才能打开,但是重新保存后用word也能打开了。可能使用模板xml是用wps创建的部分语法在word中不兼容。
使用对比找出不一样的替换即可。
最新文章
- 原生JS会跳动的电子表
- weblogic10异常:org.hibernate.hql.ast.HqlToken
- 如何用fir.im 命令行工具 打包上传
- 配置文件操作模块,configparser
- Point Grey FlyCapture 实例汇总
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(四)-- Middleware
- clientTop scrollTop offsetTop
- c# Chart设置样式
- linux命令ps aux|grep xxx详解
- CSS clip:rect矩形剪裁功能及一些应用介绍
- javascrip中array使用
- 关于jQuery表单校验的应用
- EMV/PBOC 解析(二) 卡片数据读取
- JS动态获取浏览器宽度和高度
- Win7+QTP10.0+IE9无法启动IE的解决方法
- Java 读取 .properties 配置文件的几种方式
- cleanMyMac
- PHP中$GLOBALS和global的区别
- oracle数据库密码过期修改注意事项
- POJ2421 Constructing Roads【最小生成树】
热门文章
- NetAnalyzer笔记 之 十四 NetAnalyzer 6.0 的使用方法 -- 3.协议分析与统计
- 手把手教你安装Ubuntu系统增强工具
- ArrayList、LinkedList、Vector、Array和HashMap、HashTable
- @RequestMAPPPING映射请求占位符@PathVariable注解
- [转] Git caret(^) and tilde(~)
- Second Large Rectangle【单调栈】
- Openshift 4.4 静态 IP 离线安装系列:初始安装
- C#数据结构与算法系列(六):链表——双链表(Double-LinkedList)
- 这一次搞懂Spring事务是如何传播的
- 【vue】axios二次封装,更好的管理api接口和使用