项目中多处需要导出Excel,原先一直使用POI导出或是JSP标签导出,最近在网上又找到使用JXLS导出,于是也在项目中使用了,效果还行,但是导出循环判断的例子很少,自己也是费了一番功夫才搞通,现分享一下。
MAVEN导入
只需要对照JXLS官网引用的几个就行,其他的比如poi都会自动引入,如下图:
实例:
看官网if_command标签,condition只有 if或者if else例子,但是对于else if却没有说明,如果采用多套自己也下载了源码,做过各种不同的尝试,要么判断标签后面的循环输出标签不好使了,要么if标签判断不了,通过不断的尝试,如下方式能有效的解决循环中各种判断,如下:
导出逻辑:导出记录中每行有一个字段valid,如果valid=Y,Excel单元格显示绿底色“合格”;如果valid=N,Excel单元格显示红底色“不合格";如果valid为空,Excel单元格显示空;
简单写了个导出模板,添加数据如下:
导出方法如下:
模板如下:
说明:
A1单元格批注jx:area(lastCell="I2"),表示全局;
A2单元格批注jx:each(items="list" var="vo" lastCell="H2"),lastCell="H2",不然导出后F列、G列会保留;
D2单元格批注中每行一个if语句,能表达else if逻辑,其他写法试了多次都不行;
E2单元格批注,必须限制范围是自身,重新循环本身;
导出结果: