总的来说,这回同时犯了好几个错:遍历的尾部}}只能占一个单元格;没搞清fe语句的原理;版本更迭导致参数的位置换了。
遍历的尾部}}只能占一个单元格
最好让}}单独一格,别和数据贴在一起,数据经常是需要合并单元格的
仔细看Easypoi官方文档中的模板语言
实践证明,大多数低级错误都是由于不认真看官方文档。
因为我喜欢把Excel搞成小格子便于排版,而$fe的思路是通过把遍历行下面的内容整体下移,用空出来的行来展示遍历的数据。这导致我的格式全乱了……
空格分割
三目运算 {{test ? obj:obj2}}
n: 表示 这个cell是数值类型 {{n:}}
le: 代表长度{{le:()}} 在if/else 运用{{le:() > 8 ? obj1 : obj2}}
fd: 格式化时间 {{fd:(obj;yyyy-MM-dd)}}
fn: 格式化数字 {{fn:(obj;###.00)}}
fe: 遍历数据,创建row
!fe: 遍历数据不创建row
$fe: 下移插入,把当前行,下面的行全部下移.size()行,然后插入
#fe: 横向遍历
v_fe: 横向遍历值
!if: 删除当前列 {{!if:(test)}}
单引号表示常量值 '' 比如'1' 那么输出的就是 1
&NULL& 空格
]] 换行符 多行遍历导出
sum: 统计数据
我把版本从3.2.0改成3.0.1了,原因可以参看如下文章。
最近给项目之前用的poi升级了一下版本,从3.01升级到了3.10
跨了这么多版本,当然有些写法都不一样了
不过开始只是解决了编译错误没仔细看看方法区别
结果导出报The 'to' row (0) must not be less than the 'from' row (1)这个错误
后面网上搜这个鸟错误也没得到什么有用的信息
后面查sheet.addMergedRegion这个方法才找到问题
以前版本的addMergedRegion(行号,起始列号 ,行号 ,终止列号)
现在版本的addMergedRegion(起始行号, 终止行号,起始列号 ,终止列号)
————————————————
版权声明:本文为CSDN博主「放纵的青春」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jerrydjy/article/details/38558449
由于想直接使用downloadExcel方法,所以把工具类ExcelUtils里downloadExcel的private改成public了