上篇写了Excel如何导出,那么其实在提供的那几个工具类中已经有了导入的方法,只须要直接调用便可。下面咱们来简单演示一下,如何导入。数据库
咱们先看下Controller是如何写的app
@PostMapping("/import/order") public ResultMsg import_order(MultipartFile excel) { Object objList = ExcelUtil.readExcel(excel, new OrderExcelBO(), 1, 1); if (objList == null) { return ResultMsg.fail(500, "导入的数据不能为空"); } List<OrderExcelBO> orderList = (List<OrderExcelBO>) objList; if (orderList == null || orderList.size() <= 0) { return ResultMsg.fail(500, "导入的数据不能为空"); } orderList.forEach(System.out::println); return ResultMsg.success(); }
咱们主要再看下readExcel()方法是如何写的工具
/** * 读取某个 sheet 的 Excel * * @param excel 文件 * @param rowModel 实体类映射,继承 BaseRowModel 类 * @param sheetNo sheet 的序号 从1开始 * @param headLineNum 表头行数,默认为1 * @return Excel 数据 list */ public static List<Object> readExcel(MultipartFile excel, BaseRowModel rowModel, int sheetNo, int headLineNum) { ExcelListener excelListener = new ExcelListener(); ExcelReader reader = getReader(excel, excelListener); if (reader == null) { return null; } reader.read(new Sheet(sheetNo, headLineNum, rowModel.getClass())); return excelListener.getDatas(); }
在底层的方法我就不贴出来了,我你们可在(SpringBoot整合easyexcel实现Excel的导出)文章里面找到须要的工具类,咱们就直接看下运行结果。.net
导出结果excel
那么数据都已经打印出来了,那么存入数据库就超级简单了。code