请注意,一下内容均基于1.x版本,2.x版本将另开随笔记录
一、概述
JXLS是基于Jakarta POI API的Excel报表生成工具,可以生成精美的Excel格式报表。它采用标签的方式,类似JSP标签,写一个Excel模板,然后生成报表,非常灵活,简单!
官网:http://jxls.sourceforge.net/1.x/ ——(1.x)的版本
入门参考请参见:http://blog.csdn.net/geloin/article/details/17242523
二、HelloWorld入门
安装jxls
使用maven构建项目,只需引入核心依赖:
<!-- https://mvnrepository.com/artifact/net.sf.jxls/jxls-core -->
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
<version>${jxls.version}</version>
</dependency>
此处未使用最新版本:
<jxls.version>1.0.5</jxls.version>
创建基础模板
jxls使用的是和jstl非常类似的表达式,HelloWorld使用的模板如下:
1.这里使用的是forEach遍历(与c标签基本一致)
2.这里请注意,第一行遍历的代码处请勿合并单元格!(已踩坑,合并将会导致生成失败的文件)
后台代码
//测试excel导出
@RequestMapping("/export")
public void testExport() throws ParsePropertyException, InvalidFormatException, IOException{
String tplPath = "F:/tamp.xlsx";
String destPath = "F:/export.xlsx";
List<receiver> reclist = reSe.findall();
Map<String, List<receiver>> beanParams = new HashMap<String, List<receiver>>();
beanParams.put("reclist", reclist);
XLSTransformer former = new XLSTransformer();
former.transformXLS(tplPath, beanParams, destPath);
}
//这里由于测试命名不规范,实体类的命名等实际操作时请使用首字母大写的命名方式
实体类比较简单(继承的属性不再列出):
执行效果:
//测试数据,待规范
这样,第一个版本的HelloWorld的就完成了!
【更新】:1.x中若想显示时间格式,直接在单元格处设置时间样式即可:
实例: