List<Map<String,Object>>类型的数据,怎么用easyExcel下载’
时间: 2023-10-14 17:10:31 浏览: 161
easyExcel千万级别数据下载
5星 · 资源好评率100%
可以通过EasyExcel提供的`ExcelWriter`和`Sheet`对象来实现将`List<Map<String,Object>>`类型的数据导出为Excel文件。以下是一个示例代码:
```java
// 准备数据
List<Map<String, Object>> data = new ArrayList<>();
Map<String, Object> row1 = new LinkedHashMap<>();
row1.put("name", "张三");
row1.put("age", 25);
row1.put("gender", "男");
data.add(row1);
Map<String, Object> row2 = new LinkedHashMap<>();
row2.put("name", "李四");
row2.put("age", 30);
row2.put("gender", "女");
data.add(row2);
// 创建ExcelWriter对象
OutputStream out = new FileOutputStream("output.xlsx");
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX);
// 创建Sheet对象
Sheet sheet = new Sheet(1, 0);
sheet.setSheetName("Sheet1");
// 设置表头
List<String> head = new ArrayList<>();
head.add("姓名");
head.add("年龄");
head.add("性别");
sheet.setHead(head);
// 写入数据
writer.write1(data, sheet);
// 关闭流
writer.finish();
out.close();
```
在上述示例代码中,我们首先准备了一个`List<Map<String,Object>>`类型的数据。接着,我们创建了一个`ExcelWriter`对象,并将其输出到指定的文件中。然后,我们创建了一个`Sheet`对象,并设置了表头。最后,我们调用`write1`方法将数据写入Excel中,并关闭流。
需要注意的是,这里使用了`LinkedHashMap`来创建行数据,以保证数据的顺序与表头一致。同时,如果需要导出的数据量较大,可以使用`write0`方法来分批写入数据,以避免内存溢出的问题。
阅读全文