java怎么使用easyexcel导出从数据库查询到的list为excel文件
时间: 2024-05-15 15:15:55 浏览: 8
使用easyexcel导出数据到excel文件,需要先在pom.xml中加入以下依赖:
```
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
```
然后在Java代码中使用以下步骤进行导出:
1. 创建导出的数据对象
```java
public class ExportData {
@ExcelProperty("姓名")
private String name;
@ExcelProperty("年龄")
private Integer age;
@ExcelProperty("性别")
private String gender;
// constructor, getter, setter
}
```
2. 查询数据,并将查询结果转换为导出数据对象的列表
```java
List<ExportData> dataList = new ArrayList<>();
// 从数据库中查询数据,并将查询结果转换为ExportData对象的列表
// ...
```
3. 创建输出流
```java
OutputStream outputStream = new FileOutputStream("output.xlsx");
```
4. 使用EasyExcel的工具类进行导出
```java
// 构造ExcelWriter对象
ExcelWriter excelWriter = new ExcelWriter(outputStream, ExcelTypeEnum.XLSX);
// 构造Sheet对象
Sheet sheet = new Sheet(1, 0, ExportData.class);
// 设置表头行
sheet.setHead(createHeader());
// 写入数据
excelWriter.write(dataList, sheet);
// 关闭流
excelWriter.finish();
outputStream.close();
```
其中,createHeader()方法用于创建表头行,实现方式如下:
```java
private List<List<String>> createHeader() {
List<List<String>> header = new ArrayList<>();
List<String> row1 = new ArrayList<>();
row1.add("姓名");
row1.add("年龄");
row1.add("性别");
header.add(row1);
return header;
}
```
这里只包含了一个表头行,可以根据实际需求创建更复杂的表头。
最后,运行程序即可将数据导出到output.xlsx文件中。