前些时间在做一个excel导出功能时,看了下项目中使用了poi和jxl这两种excel导出库,觉得这两种导出库使用起来生硬繁琐,于是便在网上找到了这个使用模板能够灵活导出excel的jxls2。
jxls2的基本使用方法就不具体介绍了,jxls2和jxls的一代版本有很大差异,请大家注意区分。
在使用jxls2时,我们经常会用到each命令来循环导出数据。each命令的基本写法为:
jx:each(items=“apples” var=“apple” lastCell=“Q15”)
each 可以有如下一些属性:
items 上下文中集合的变量名;
var 在遍历集合的时候每一条记录的变量名;
area 该XLS Command的解析区域;
direction 数据在excel中填充的方向,默认(DOWN)向下;
select 其值为一个表达式,用来过滤数据。
jxls2的each命令并没有varStatus这样一个属性来存放当前遍历状态
但是我们经常会在each遍历过程中需要一个计数器来记录当前已经遍历的个数,或者需要将索引打印在单元格上
对于这个问题我想出了一个解决方法
jxls2是可以在工具类中写自定义工具方法的
如果你需要自定jexl来处理数据,你可以从Transformer对象获取JexlEngine引用,并对其配置。
下面的例子实现了将一个自定义jexl函数注册到utils命名空间下:
JxlsHelper jxlsHelper = JxlsHelper.getInstance();
Transformer transformer