准备一个简单实体类
package com.xxx.demo.Excel;import com.alibaba.excel.annotation.ExcelProperty;import lombok.Data;/*** Created by 令狐冲*/@Datapublic class DemoData {// 设置表头@ExcelProperty(value = "学生id",index = 0)private Integer uid;@ExcelProperty(value = "学生姓名",index = 1)private String uname;}
一、Excel的写操作
测试类定义一个返回list的方法进行表格中内容的填写,因为EasyExcel.write().doWrite()方法的参数需要list集合
/*** Created by 令狐冲*/public class TestEasyExcel {public static void main(String[] args) {//设置写入文件夹地址和excel文件名称String filename = "D:\\write.xlsx";//调用easyexcel里面的方法 第一个参数:文件路径名称 第二个参数:实体类classEasyExcel.write(filename,DemoData.class).sheet("学员信息表").doWrite(getList());}private static List<DemoData> getList(){List<DemoData> list = new ArrayList<>(); for (int i = 0; i < 10; i++) {DemoData data = new DemoData();data.setUid(i);data.setUname("BOB"+i);list.add(data);}return list;}}
右键运行,就会在定义的位置生成一个xlsx的表格文件了。
二、EasyExcel的读操作
进行读操作需要我们定义一个监听类
/*** Created by 令狐冲*/public class ExcelListener extends AnalysisEventListener<DemoData> {@Overridepublic void invoke(DemoData demoData, AnalysisContext analysisContext) {System.out.println("****"+demoData);}@Overridepublic void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {System.out.println("表头"+headMap);}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {}}
在测试类中我们使用EasyExcel中的read方法进行实现
/*** Created by 令狐冲 */public class TestEasyExcel {String filename = "D:\\write.xlsx";EasyExcel.read(filename,DemoData.class,new ExcelListener()).sheet().doRead();}}
其中三个参数分别为:表格所在路径、实体类、新建的监听器,测试结果如下:
ok