前言
使用EasyExcel可以非常简便地实现数据导出功能。可以避免了手动创建工作簿和工作表的繁琐步骤,使得数据导出变得非常简单和直观。
代码示例:
1、添加依赖
在pom.xml
中添加EasyExcel的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
2、创建实体类
定义一个实体类,用于映射Excel中的数据。例如,创建一个User
类:
public class User {
@ExcelProperty("姓名")
private String name;
@ExcelProperty("年龄")
private Integer age;
@ExcelProperty("薪资")
private Double salary;
// 构造函数、getter和setter方法
}
3、创建控制器
在控制器中,使用EasyExcel的API来处理导出请求:
@RestController
public class UserController {
@GetMapping("/export")
public void export(HttpServletResponse response) throws IOException {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("用户信息", "UTF-8").replaceAll("\\\\+", "%20");
response.setHeader("Content-Disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<User> userList = new ArrayList<>();
//填充数据
EasyExcel.write(response.getOutputStream())
.head(User.class)
.sheet("用户信息")
.doWrite(userList);
}
}
4、说明
在这个简化的示例中,我们直接在控制器中处理导出请求,使用EasyExcel.write()方法创建一个写入器,并通过head()方法指定表头,sheet()方法指定工作表名称,最后调用doWrite()方法将数据写入到Excel文件中。