人丑话不多 直接上代码
先看工具类
easyExcel pom引用
/**
* 导入excel
*/
public Result readExcelFile(MultipartFile file) {
String result = "";
// 创建处理EXCEL的类
try {
BufferedInputStream stream = new BufferedInputStream(file.getInputStream());
List<Object> list = EasyExcelFactory.read(stream, new Sheet(1, 2));
if (list == null && list.size() <= 0) {
return Result.buildResult(Result.Status.NOT_FOUND, "上传文件不能为空");
}
List<CsBaseInfo> csList = new ArrayList<CsBaseInfo>();
for (int i = 0; i < list.size(); i++) {
CsBaseInfo cInfo = new CsBaseInfo();
List<Object> objList = (List) list.get(i);
// for (int j = 0; j < objList.size(); j++) {
cInfo.setCsCompany(String.valueOf(objList.get(0)));
cInfo.setRepresentativeOffice(String.valueOf(objList.get(1)));
cInfo.setIndustry(String.valueOf(objList.get(2)));
cInfo.setContacts(String.valueOf(objList.get(3)));
cInfo.setContactsAttribute(String.valueOf(objList.get(4)));
cInfo.setContactsLevel(String.valueOf(objList.get(5)));
cInfo.setContactsPhone(String.valueOf(objList.get(6)));
cInfo.setContactsEmail(String.valueOf(objList.get(7)));
cInfo.setContactsPost(String.valueOf(objList.get(8)));
cInfo.setMaintenanceProducts(String.valueOf(objList.get(9)));
cInfo.setHisCreateNum(String.valueOf(objList.get(10)));
cInfo.setHisAverageSatisfied(String.valueOf(objList.get(11)));
cInfo.setComplaintRecord(String.valueOf(objList.get(12)));
cInfo.setBirthday(String.valueOf(objList.get(13)));
csList.add(cInfo);
// }
//
}
//从数据库查询所有的客户信息 然后和前端传的做对比
//如果有相同的 就直接更新 如果没有相同的 就不更新
List<CsBaseInfo> listAllCustormMsg = systemDao.listAllCustormMsg();
// 至此已经将excel中的数据转换到list里面了,接下来就可以操作list,可以进行保存到数据库,或者其他操作,
if (list != null && list.size() > 0 && listAllCustormMsg != null && listAllCustormMsg.size() > 0) {
for (CsBaseInfo excel : csList) {
for (CsBaseInfo csdao : listAllCustormMsg) {
if (csdao.getContactsPhone().equals(excel.getContactsPhone())) {
systemDao.updateBaseCsInfo(excel);
} else {
systemDao.saveBaseInfo(excel);
}
}
}
} else {
return Result.buildResult(Result.Status.ERROR, "上传失败");
}
} catch (Exception e) {
e.printStackTrace();
logger.error("=====SystemServiceImpl.exportExcel ERROR===", e);
return Result.buildResult(Result.Status.BAD_REQUEST);
}
return Result.buildResult(Result.Status.OK, "导入成功");
}