SpringBoot整合easyexcel實現Excel匯入
阿新 • • 發佈:2019-10-10
上篇寫了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的匯出)文章裡面找到需要的工具類,我們就直接看下執行結果。
匯出結果
那麼資料都已經打印出來了,那麼存入資料庫