参考
https://sarin.iteye.com/blog/845035 | Apache POI组件操作Excel,制作报表(一) |
---|---|
辣鸡代码将就看吧
控制层.java
/**
* 导入Excel数据
*
*/
@ResponseBody
@RequiresPermissions("finance:financefixedassets:financeFixedAssets:import")
@RequestMapping(value = "import")
public AjaxJson importFile(@RequestParam("file") MultipartFile file, HttpServletResponse response,
HttpServletRequest request) {
AjaxJson j = new AjaxJson();
try {
int successNum = 0;
int failureNum = 0;
//得到Excel工具类
ExcelUtils excelUtils = new ExcelUtils();
//初始化列表容器
List<FinanceFixedAssets> studentList = new ArrayList<FinanceFixedAssets>();// 返回封装数据的List
StringBuilder failureMsg = new StringBuilder();
if (StringUtils.isBlank(file.getOriginalFilename())) {
j.setSuccess(false);
j.setMsg("导入固定资产管理失败!失败信息:");
}
//解析excel为对象列表
studentList = excelUtils.ExcelUtilsFinanceFixedAssets(file);
for (FinanceFixedAssets atbut : studentList) {
//前四项无值不允许转换
if(atbut.getAssetsName()!=null&&atbut.getAssetsPrice()!=null&&atbut.getProcurementDate()!=null&&atbut.getAssetsCount()!=null) {
try {
// 资产编号设置,放置修改
if (atbut.getIsNewRecord()) {
atbut.setAssetsNo(genAssetCode());
} else {
FinanceFixedAssets oldAssert = financeFixedAssetsService.get(atbut.getId());
atbut.setAssetsNo(oldAssert.getAssetsNo());
}
financeFixedAssetsService.save(atbut);
successNum++;
} catch (ConstraintViolationException ex) {
failureNum++;
} catch (Exception ex) {
failureNum++;
}
}
}
if (failureNum > 0) {
failureMsg.insert(0, ",失败 " + failureNum + " 条固定资产管理记录。");
}
j.setMsg("已成功导入 " + successNum + " 条固定资产管理记录" + failureMsg);
} catch (Exception e) {
j.setSuccess(false);
j.setMsg("导入固定资产管理失败!失败信息:" + e.getMessage());
}
return j;
}
ExcelUtils工具类.java
public List<FinanceFixedAssets> ExcelUtilsFinanceFixedAssets(MultipartFile file) {