使用阿里巴巴easyExcel解析Excel文件。

1、<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.2.3</version>
</dependency>

2、自定义Listener,继承AnalysisEventListener

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

public class ExcelListener extends AnalysisEventListener {

    private List<Object> datas = new ArrayList<>();
    @Override
    public void invoke(Object o, AnalysisContext analysisContext) {
        datas.add(o);//逐行添加解析数据
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }

//获取所有数据
    public List<Object> getDatas() {
        return datas;
    }

    public void setDatas(List<Object> datas) {
        this.datas = datas;
    }
}

3、定义实体类,解析后映射到对象

public class A extends BaseRowModel implements Serializable {
    private String dept;

    private String pointName;

    @ExcelProperty(value = "dept", index = 2)//index第几列
    private String dept;

    @ExcelProperty(value = "pointName", index = 3)
    private String pointName;
public String getDept() {
    return dept;
}

public void setDept(String dept) {
    this.dept = dept;
}

}

4、解析

InputStream inputStream=new FileInputStream(new File("文件路径或者
multipartFile.getInputStream
"));
EasyExcel.read(inputStream,A.class,listener).sheet(0).doRead();
List<Object> list = listener.getDatas();
for(int j=0;j<list.size();j++){

    A content=(A)list.get(j);
    
  //调用保存方法保存A
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值