官网: https://github.com/alibaba/easyexcel
参考:https://blog.csdn.net/jiangjiandecsd/article/details/81115622
https://blog.csdn.net/jianggujin/article/details/80200400
推荐:
https://www.jianshu.com/p/3a64ade57bf2
EasyExcel教程:
https://blog.csdn.net/sinat_32366329/article/details/103109058?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
EasyExcel 读取excel: (noModel)
/* 解析监听器, * 每解析一行会回调invoke()方法。 * 整个excel解析结束会执行doAfterAllAnalysed()方法 * 下面只是我写的一个样例而已,可以根据自己的逻辑修改该类。 */ public class ExcelListener extends AnalysisEventListener { //自定义用于暂时存储data。 //可以通过实例获取该值 private List<Object> datas = new ArrayList<Object>(); public void invoke(Object object, AnalysisContext context) { System.err.println(JSONValue.toJSONString(context)); System.out.println("当前行:"+context.getCurrentRowNum()); System.out.println(object); datas.add(object);//数据存储到list,供批量处理,或后续自己业务逻辑处理。 doSomething(object);//根据自己业务做处理 } private void doSomething(Object object) { //1、入库调用接口 } public void doAfterAllAnalysed(AnalysisContext context) { // datas.clear();//解析结束销毁不用的资源 } public List<Object> getDatas() { return datas; } public void setDatas(List<Object> datas) { this.datas = datas; } } /** * test read excel with easyexcel * @throws FileNotFoundException */ @Test public void testReadExcelNoModel() throws FileNotFoundException { // InputStream inputStream = getInputStream("loan1.xls"); FileInputStream inputStream = new FileInputStream("C:\Users\lenove\Desktop\seatest.xlsx"); ExcelReader excelReader =null; try { // 解析每行结果在listener中处理 ExcelListener listener = new ExcelListener(); /** ####### 方式一 return List<List> ###### // # EasyExcelFactory.readBySax(inputStream, new Sheet(1,0),listener); // ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLSX,null, listener); // excelReader.read(new Sheet(1,0)); // List<Object> datas = listener.getDatas(); // System.err.println(datas); **/ //######## 方式2 return List<Map>####### excelReader = EasyExcel.read(inputStream,listener).headRowNumber(0).build(); ReadSheet readSheet = EasyExcel.readSheet(0).build(); excelReader.read(readSheet); System.err.println(JSONValue.toJSONString(listener.getDatas())); } catch (Exception e) { System.err.println("exception is "+e); } finally { try { if (excelReader != null) { // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的 excelReader.finish();} inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }