一个程序员的成长

一个程序员的成长

上篇写了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();
    }

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

SpringBoot整合easyexcel实现Excel导入-LMLPHP

导出结果

SpringBoot整合easyexcel实现Excel导入-LMLPHP

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

10-11 09:32