一、背景
最近在java上做了一个EXCEL的导出功能,写了一个通用类,在这里分享分享,该类支持多sheet,且无需手动进行复杂的类型转换,只需提供三个参数即可:fileName
excel文件名
HasMap> data
具体的数据,每个List代表一张表的数据,?表示可为任意的自定义对象
LinkedHashMap headers
Stirng代表sheet名。每个String[][]代表一个sheet的定义,举个例子如下:String[][] header = {
{"field1","参数1"}
,{"field2","参数2"}
,{"field3","参数3"}
}
其中的field1,field2,field3为对象中的属性名,参数1,参数2,参数3为列名,实际上这个指定了列的名称和这个列用到数据对象的哪个属性。
二、怎么用
以一个例子来说明怎么用,假设有两个类A和B定义如下:public class A{ private String name; private String address;
}public class B{ private int id; private double sum; private String cat;
}
现在我们通过查询数据库获得了A和B的两个列表:List dataA = .....;