一.导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<!--xlsx-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
二.编写实体类
package com.atguigu.demo.excelData;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class excelData {
//value表示excel表头,index 表示表头位置
@ExcelProperty(value = "学生学号",index = 0)
private Integer sno;
@ExcelProperty(value = "学生姓名",index = 1)
private String sname;
}
三.写入Excel
package com.atguigu.demo.excelData;
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class RunExcel {
public static void main(String[] args) {
//写入excel的地址
String filename="E:\\GuLiXueYuan\\writer.xls";
//filename是路径 excelData.class实体类名
EasyExcel.write(filename,excelData.class).sheet("学生列表").doWrite(getExlData());
}
//模拟list数据
private static List<excelData> getExlData(){
List<excelData> list=new ArrayList<>();
for (int i = 1; i <=10 ; i++) {
excelData el=new excelData();
el.setSno(i);
el.setSname("lory"+i);
list.add(el);
}
return list;
}
}
结果如下:
四.读取Excel
1.编写监听类ExcelReadListener
package com.atguigu.demo.excelData;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import java.util.Map;
public class ExcelReadListener extends AnalysisEventListener<excelData> {
//一行一行读取表格内容
@Override
public void invoke(excelData data, AnalysisContext analysisContext) {
System.out.println("**********"+data);
}
//读取表头
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:"+headMap);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
2.执行代码
package com.atguigu.demo.excelData;
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class RunExcel {
public static void main(String[] args) {
//读取excel数据
String filename2="E:\\GuLiXueYuan\\writer.xls";
EasyExcel.read(filename2,excelData.class,new ExcelReadListener()).sheet().doRead();
}
}
3.结果如下: