easyExcel动态生成excel
时间: 2023-09-26 18:11:37 浏览: 101
使用 EasyExcel 可以方便地动态生成 Excel 文件,具体步骤如下:
1. 引入依赖
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.3.0</version>
</dependency>
```
2. 编写实体类
```java
@Data // lombok注解,自动生成getter/setter等方法
public class User {
// 指定Excel表头名称和顺序
@ExcelProperty(value = "姓名", index = 0)
private String name;
@ExcelProperty(value = "年龄", index = 1)
private Integer age;
@ExcelProperty(value = "性别", index = 2)
private String gender;
}
```
3. 写入数据
```java
public void writeExcel(HttpServletResponse response) throws IOException {
// 创建ExcelWriter对象
OutputStream out = response.getOutputStream();
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
// 创建Sheet对象
Sheet sheet = new Sheet(1, 0, User.class);
// 设置Sheet名称
sheet.setSheetName("用户信息");
// 准备数据
List<User> userList = new ArrayList<>();
userList.add(new User("张三", 20, "男"));
userList.add(new User("李四", 22, "女"));
userList.add(new User("王五", 21, "男"));
// 写入数据
writer.write(userList, sheet);
// 关闭ExcelWriter对象
writer.finish();
out.flush();
}
```
4. 下载Excel文件
```java
@RequestMapping("/download")
public void downloadExcel(HttpServletResponse response) throws IOException {
// 设置响应头
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + "user.xlsx");
// 写入数据到Excel文件
writeExcel(response);
}
```
以上就是使用 EasyExcel 动态生成 Excel 文件的主要步骤。需要注意的是,EasyExcel 也支持读取 Excel 文件,可以使用 `ExcelReader` 对象实现。
阅读全文