EasyExcle

1. 导入依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.1.1</version>
</dependency>
<!-- 还需要POI的3.17 -->

2. 写操作

@Data
public class DataPojo {
    
    
    @ExcelProperty("编号") // excel的表头
    Integer sno;
    @ExcelProperty("名称")
    String sname;
}

String fileName = "F:\\write.xlsx";

List<DataPojo> list = new ArrayList<>();
for (int i = 0; i < 10; i ++ ) {
    
    
    DataPojo data = new DataPojo();
    data.setSno(i);
    data.setSname("jerry" + i);
}
// 写操作
EasyExcel.write(fileName, DataPojo.class).sheet("学生列表").doWrite(list);

3. 读操作

读需要监听器

@Data
public class DataPojo {
    
    
    @ExcelProperty(value = "编号", index = 0)
    Integer sno;
    @ExcelProperty(value = "名称", index = 1)
    String sname;
}

// 监听器
public class ExcelListener extends AnalysisEventListener<DataPojo> {
    
    
    // 一行一行读取,从第二行
    public void invoke(DataPojo data, AnalysisContext context) {
    
    
        System.out.println(data);
    }
    
    // 读取之后的事请
    public void doAfterAllAnalysed(AnalysisContext context) {
    
    
        
    }
    
    // 读取表头
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
    
    
        System.out.println("表头:" + headMap);
    }

}
String fileName = "...";
EasyExcel.read(fileName, DataPojo.class, new ExcelListener()).sheet().doRead();

猜你喜欢

转载自blog.csdn.net/weixin_43795939/article/details/113666968