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