Easy Excel 在springboot中实现数据导出
时间: 2024-05-09 08:16:17 浏览: 135
可以使用 Easy Excel 库来实现在 Spring Boot 中进行数据导出。
首先,在 pom.xml 文件中添加 Easy Excel 的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
```
然后,创建一个 POJO 类来表示你要导出的数据,并在类上使用 `@ExcelProperty` 注解来标记每个属性对应的 Excel 列。
```java
public class User {
@ExcelProperty("ID")
private Long id;
@ExcelProperty("姓名")
private String name;
@ExcelProperty("年龄")
private Integer age;
// ...
// getter and setter
}
```
接下来,编写一个 Controller 来处理数据导出请求。在方法中,使用 Easy Excel 提供的 `EasyExcel.write` 方法来写入数据到 Excel 文件中。
```java
@RestController
public class UserController {
@GetMapping("/users/export")
public void export(HttpServletResponse response) throws IOException {
// 查询要导出的数据
List<User> userList = userService.listUsers();
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment;filename=userList.xlsx");
// 使用 Easy Excel 写入数据到 Excel 文件
ExcelWriter writer = EasyExcel.write(response.getOutputStream(), User.class).build();
WriteSheet sheet = EasyExcel.writerSheet("用户列表").build();
writer.write(userList, sheet);
writer.finish();
}
}
```
以上代码中,首先使用 UserService 查询要导出的数据,然后设置响应头,指定导出的文件类型和文件名。接着,使用 Easy Excel 的 `EasyExcel.write` 方法来创建一个 ExcelWriter 对象,同时指定要导出的数据类型和输出流。接下来,使用 `EasyExcel.writerSheet` 方法来创建一个 WriteSheet 对象,并指定 sheet 的名称。最后,使用 ExcelWriter 的 `write` 方法来将数据写入到 Excel 文件中,并调用 `finish` 方法来完成写入操作。
这样就可以通过访问 `/users/export` 接口来进行数据导出了。
阅读全文