SpringBoot整合easyexcel實現Excel導入

上篇寫了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

相關文章
相關標籤/搜索