发现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()+"条数据"); }