现在要导出格式如下:

 

实体如下:

1 public class TestEntity{
2 
3     @Excel(name = "姓名", width = 15)
4     private String username;
5     
6     @Excel(name = "年龄", width = 15)
7     private int age;
8 
9 .....省略后续getset

 

数据格式如下:

 1 //多个map,对应了多个sheet
 2 List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
 3 
 4 for(int i=0;i<3;i++){
 5     Map<String, Object> map = new HashMap<String, Object>();
 6     map.put("title",getExportParams("测试"+i));//表格title
 7     map.put("entity",TestEntity.class);//表格对应实体
 8 
 9     //数据封装方式一:map数据,手动封装ExcelExportEntity集合
10     List<Map> ls=new ArrayList<Map> ();
11     for(int j=0;j<10;j++){
12         Map map = new HashMap();
13         map1.put("name","李四"+j);
14         map1.put("age",18+j);
15         ls.add(map);
16     }
17 
18    //数据封装方式二:实体类
19     List<TestEntity> ls=new ArrayList<TestEntity> ();
20     for(int j=0;j<10;j++){
21         TestEntity testEntity = new TestEntity();
22         testEntity.setName("张三"+j);
23         testEntity.setAge(18+j);
24         ls.add(testEntity);
25     }
26     map.put("data", ls);
27     listMap.add(map);
28 }
29 
30 //导出参数
31 public static ExportParams getExportParams(String name) {
32      //表格名称,sheet名称,导出版本 
33     return  new ExportParams(name,name,ExcelType.XSSF);
34 }
 

调用ExcelExportUtil.exportExcel方法生成workbook

1 Workbook wb = ExcelExportUtil.exportExcel(listMap,ExcelType.XSSF);
posted on 2021-03-08 17:23  zhangdaiscott  阅读(421)  评论(0编辑  收藏  举报