發現hutool導入很是好用啊,做個備份。
POI文件:(jdk8對應版本5 而jdk7對應版本4)
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.4.2</version>
</dependency>
控制層:
/** * 導入 * @param file * @return * @throws IOException */ @PostMapping(value = "/importExcel") public ResponseMessage readExcel(@RequestParam("file")MultipartFile file) throws IOException { ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); List<List<Object>> list = reader.read(3); log.info("導入的數據{}", JSON.toJSONString(list)); List batchList = Lists.newArrayList(); for (List<Object> data: list) { //hutool工具有個問題,當末尾數據為null時,長度直接就變短了,如果不補齊后面會導致下標溢出。此處解決下標溢出的問題 Integer columnSize = 4; if(data.size() < columnSize){ for (int i=0; i<=columnSize-data.size(); i++) { data.add(null); } } // TODO 數據封裝插入 } return ResponseMessage.success("導入成功,共成功導入"+batchList.size()+"條數據"); }