excel导入导出(easyexcel实现)

这篇博客介绍了为何选择EasyExcel而非Apache POI处理Excel,主要原因是EasyExcel在读取时内存占用更低且API更简洁。详细讲解了Excel导入的步骤,包括引入Maven依赖、定义VO类和解析操作。在文件导出部分,提到了可能出现的JavaNullPointerException问题,特别是当从本地Windows环境迁移到Open JDK的服务器时,并给出了GitHub上的解决方案链接。最后,展示了控制器如何执行具体的导入导出操作。
摘要由CSDN通过智能技术生成

一、为什么用easyexcel

我在easyexcel了解之后,之所以用easyexcel主要是以下两点:
1、easyexcel 相对poi来说,在读取excel表格的时候,可以一行一行读取poi相对更节约内存。
2、easyexcel 可以直接在数据类上面指定导入列,api更加简洁。

二、excel导入解析

1、引入maven依赖

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

2、定义导入解析的vo类

@Data
public class UserInfo  {

    @ExcelProperty(index = 0)
    private String name;

    @ExcelProperty(index = 1)
    private int age;

    @ExcelProperty(index = 2)
    private String address;

}

3、在操作数据类中定义内部类

public class UserInfoListener extends AnalysisEventListener<UserInfo> {

        Logger logger = LoggerFactory.getLogger(UserInfoListener.class);

        //每次读取100条数据就进行保存操作
        private static final int BATCH_COUNT = 100;

        List<UserInfo> list = new ArrayList<>();
        private List<UserInfo> resultLst;
        public UserInfoListener(List<UserInfo> list) {
            this.resultLst = list;
        }

        @Override
        public void invoke(UserInfo userInfo, AnalysisContext analysisContext) {
            logger.error("收到消息{}",JSON.toJSONString(userInfo));
            li
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值