1. 程式人生 > >SpringBoot整合easyexcel實現Excel匯入

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

在底層的方法我就不貼出來了,我大家可在(SpringBoot整合easyexcel實現Excel的匯出)文章裡面找到需要的工具類,我們就直接看下執行結果。

匯出結果

那麼資料都已經打印出來了,那麼存入資料庫