SpringBoot整合easyexcel实现Excel导入

  • 2019 年 11 月 23 日
  • 筆記

上篇《SpringBoot整合easyexcel实现Excel的导出》写了Excel如何导出,那么其实在提供的那几个工具类中已经有了导入的方法,只需要直接调用即可。下面我们来简单演示一下,如何导入。我们先看下Controller是如何写的

@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();      }

在底层的方法我就不贴出来了,我大家可在()文章里面找到需要的工具类,我们就直接看下运行结果。

导出结果

那么数据都已经打印出来了,那么存入数据库就超级简单了。