一、简介
EasyExcel是阿里开源的一款工具,用于Excel的操作,导入导出之类,操作简单,效率高。
二、基本使用
1、maven引入该架包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.3</version>
</dependency>
2、建立实体类,用来封装Excel中的数据
@ExcelProperty注解表示对应Excel中的元素,即对应列,index为列数,从0开始,value随意
public class RelatedList {
private int id;
//基金简称
private String fundName;
//关联方名称
@ExcelProperty(value = "关联方名称",index=0)
private String relatedName;
//与本基金的关系
@ExcelProperty(value = "与本基金的关系",index=1)
private String relatedDesc;
public String getFundName() {
return fundName;
}
public void setFundName(String fundName) {
this.fundName = fundName;
}
public String getRelatedName() {
return relatedName;
}
public void setRelatedName(String relatedName) {
this.relatedName = relatedName;
}
public String getRelatedDesc() {
return relatedDesc;
}
public void setRelatedDesc(String relatedDesc) {
this.relatedDesc = relatedDesc;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
3、自定义实现AnalysisEventListener
public class RelatedDataListener extends AnalysisEventListener<RelatedList> {
private List<RelatedList> relatedListList = new ArrayList();
@Override
public void invoke(RelatedList relatedList, AnalysisContext analysisContext) {
relatedListList.add(relatedList);
}
//最后执行该方法
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
//保存到数据库
}
}
4、解析Excel
可以指定sheet和开始解析的行数
EasyExcel.read(file.getInputStream(),RelatedList.class,new RelatedDataListener()).sheet(0).headRowNumber(0).doRead();