/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<BmdLoanPage> list = ExcelImportUtil.importExcel(file.getInputStream(), BmdLoanPage.class, params);
for (BmdLoanPage page : list) {
BmdLoan po = new BmdLoan();
BeanUtils.copyProperties(page, po);
//设置欠款code,costtypecode
if(po.getLoanType().equals("个人借款欠款")){
po.setLoanTypeCode("1");
}
bmdLoanService.saveMain(po, page.getBmdLoanDetailList());
}
return Result.OK("文件导入成功!数据行数:" + list.size());
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return Result.OK("文件导入失败!");
}
今天导入excel的时候遇到了一个问题,每次导入只能导入一条数据,后来发现第一列数据是空的,所以导入有问题,把空的数据补上或者去掉第一列空的就导入成功了。