Controller层
@PostMapping("/import")
@ApiOperation(value = "导入excel", notes = "导入excel")
public RestApiResponse> importStatistics(@RequestPart("file") MultipartFile file) {
List userList = ExcelUtils.importExcel(file, 0, 1, User.class);
logger.info("识别到{}条数据", userList.size());
// 执行批量插入
service.insertBatch(userList);
return RestApiResponse.ok(userList);
}
importExcel方法编写:
public staticList importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class pojoClass) { // titleRows 标题 headerRows 头 if (file == null) { return null; } ImportParams params = new ImportParams(); params.setTitleRows(titleRows); params.setHeadRows(headerRows); List list = null; try { list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params); } catch (NoSuchElementException e) { throw new ServiceException("excel file can't be null!"); } catch (Exception e) { throw new ServiceException(e); } return list; }
调用的依赖easypoi,以maven为例:
cn.afterturn
easypoi-base
3.1.0
cn.afterturn
easypoi-web
3.1.0
cn.afterturn
easypoi-annotation
3.1.0
批量插入sql:
insert into tabble_name(id,name,age) values ```(#{item.id}, #{item.name}, #{item.age})



