前言

使用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文件中。