EasyExcel 导出list map
时间: 2023-07-12 17:39:55 浏览: 1026
要使用EasyExcel导出List或Map,需要遵循以下步骤:
1.添加EasyExcel依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
```
2.编写导出逻辑:
```java
//创建数据
List<Map<String, Object>> dataList = new ArrayList<>();
Map<String, Object> dataMap1 = new LinkedHashMap<>();
dataMap1.put("name", "张三");
dataMap1.put("age", 20);
dataMap1.put("gender", "男");
dataList.add(dataMap1);
Map<String, Object> dataMap2 = new LinkedHashMap<>();
dataMap2.put("name", "李四");
dataMap2.put("age", 21);
dataMap2.put("gender", "女");
dataList.add(dataMap2);
//设置导出参数
String fileName = "test.xlsx";
String sheetName = "Sheet1";
Class<? extends BaseRowModel> clazz = null;
ExcelWriter excelWriter = null;
try {
excelWriter = EasyExcel.write(fileName).build();
WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).build();
if (!dataList.isEmpty()) {
//获取首个Map对象的key,用于作为表头
Set<String> keySet = dataList.get(0).keySet();
List<List<String>> headList = new ArrayList<>();
List<String> headTitleList = new ArrayList<>();
for (String key : keySet) {
headTitleList.add(key);
}
headList.add(headTitleList);
//写出数据
excelWriter.write(dataList, writeSheet, EasyExcel.writerExcelDataHandler().build());
//写出表头
excelWriter.writeHead(headList, writeSheet);
}
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
```
上面的代码中,我们先创建了一个List<Map<String, Object>>对象作为导出数据,然后设置导出参数,包括文件名、Sheet名、实体类类型等,最后使用EasyExcel的API进行导出。
注意,要写出表头,我们需要先获取首个Map对象的key,然后将其作为表头写入Excel文件中。
3.运行导出代码,查看结果。
导出的结果应该是一个包含数据和表头的Excel文件。其中,第一行为表头,后面的每一行为数据。