这个开始看实现EasyExcel对Excel写操作
1、创建实体类
package excel; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; @Data public class demoData { //设置excel表头名称 @ExcelProperty(value = "学生编号",index = 0) private Integer sno; @ExcelProperty(value = "学生姓名",index = 1) private String sname; }
2、创建读取操作的监听器
package excel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import java.util.ArrayList; import java.util.List; import java.util.Map; //监听器 public class ExcelListener extends AnalysisEventListener<demoData> { //创建list集合封装最终的数据 List<demoData> list = new ArrayList<demoData>(); //一行一行读取excel内容 @Override public void invoke(demoData data, AnalysisContext analysisContext) { System.out.println("***"+data); list.add(data); } //读取excel表头信息 @Override public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { System.out.println("表头信息:"+headMap); } //读取完成后执行 @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } }
3、调用实现最终的读取
package excel; import com.alibaba.excel.EasyExcel; import java.util.ArrayList; import java.util.List; public class TestExcel { public static void main(String[] args) { // //实现excel写操作 // //1设置写入文件夹地址和excel文件名称 // String filename="G:\\HBSJ\\a.xls"; // // //2调用easyExcel里面方法进行写操作 // // // EasyExcel.write(filename,demoData.class).sheet("学生列表").doWrite(getData()); // 写法1: String fileName = "G:\\HBSJ\\a.xls"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, demoData.class, new ExcelListener()).sheet().doRead(); } //创建方法返回List集合 private static List<demoData> getData(){ List<demoData> list = new ArrayList<demoData>(); for (int i = 0; i < 10; i++) { demoData data = new demoData(); data.setSno(i); data.setSname("张三"+i); list.add(data); } return list; } }
4.结果显示