EasyExcel的简单使用,包括读取和写入

1.dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.2.6</version>
</dependency>

2.Excel表格内容

在这里插入图片描述

3.封装的实体类

@Data
public class ExcelData {

    @ExcelProperty("ID")
    private String id;

    @ExcelProperty("用户名")
    private String name;

    @ExcelProperty("邮箱")
    private String email;

    @ExcelProperty("性别")
    private String gender;

    @ExcelProperty("积分")
    private Integer score;

    @ExcelProperty("IP")
    private String ip;

    @ExcelProperty("登入次数")
    private Integer count;

    @ExcelProperty("加入时间")
    private Date date;
}

4.核心代码

public class EasyExcelDemo {

    public static void main(String[] args) {
        List<ExcelData> excelData = parseData();
        // 写入位置及名字
        EasyExcel.write("D:\\用户数据表_副本.xls")
                // 加上表头(格式可以自定义)
                .head(ExcelData.class)
                .excelType(ExcelTypeEnum.XLS)
                .sheet("用户数据表")
                .doWrite(excelData);
    }


    public static List<ExcelData> parseData() {
        // 把每次回调读取的数据,封装成实体类ExcelData,再放入到List中
        List<ExcelData> excelDataList = new ArrayList<>();
        // 读取文件
        EasyExcel.read("D:\\用户数据表.xls")
                // 把表头映射成实体类
                .head(ExcelData.class)
                // 指定sheet
                .sheet("用户数据表")
                // 注册监听器进行数据的解析
                .registerReadListener(new AnalysisEventListener<ExcelData>() {
                    @Override
                    public void invoke(ExcelData excelData, AnalysisContext analysisContext) {
                        // 一行数据读取完成之后的回调(观察者模式)
                        excelDataList.add(excelData);
                    }

                    @Override
                    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                        // 通知文件读取完毕
                        System.out.println("数据读取完毕");
                    }
                }).doRead();
        // 遍历
        excelDataList.forEach(System.out::println);
        // 返回
        return excelDataList;
    }
}

闲话
目前操作Excel的工具有apache的POI(最原生,封装太浅,晦涩难懂),和国内的EasyPOI(简化了apache的EasyPOI,好用了一些),还有阿里推出的EasyExcel(用起来最简单,可能有些潜在bug);

感谢b站宁楠老师的干货! 记录成笔记方便以后工作中用到快速拿出来看
原视频地址:https://www.bilibili.com/video/BV1fK4y1D7Mu

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值