导入maven依赖,我测试用到的版本为3.2.0  

     <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>3.2.0</version>
        </dependency>

        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>3.2.0</version>
        </dependency>

        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>3.2.0</version>
        </dependency>

实体类为

@Data
@NoArgsConstructor
@AllArgsConstructor
@HeadRowHeight(20)
@ColumnWidth(20)
@ContentRowHeight(15)
public class Student {

    @ExcelProperty(index = 0, value = "姓名")
    private String name;

    @ExcelProperty(index = 1, value = "学工号")
    private String sno;

}

excel文件为

Listtener为

public class StudentListener extends AnalysisEventListener<Student> {

    @Getter
    private List<Student> studentList = new ArrayList<Student>();

    public StudentListener() {
        super();
        studentList.clear();

    }

    /**
     * 每一条数据解析都会调用
     */
    @Override
    public void invoke(Student student, AnalysisContext context) {
        studentList.add(student);
    }

    /**
     * 所有数据解析完成都会调用
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        studentList.forEach(System.out::println);

    }

}

解析excel的代码为

StudentListener studentListener = new StudentListener();
EasyExcel.read(file.getInputStream(), Student.class, studentListener).sheet().doRead();
List<Student> studentList = studentListener.getStudentList();

studentList即可excel表格中的所有数据了

 

GitHub 加速计划 / ea / easyexcel
31.63 K
7.47 K
下载
快速、简洁、解决大文件内存溢出的java处理Excel工具
最近提交(Master分支:2 个月前 )
c42183df Bugfix 1 个月前
efa7dff6 * 重新加回 `commons-io` 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐