service中的代码总体思路如下: 1; 现根据传过来的file,利用ExcelUtils.readDataFromExcelFile(file)将文件解析成List<Map<String,Object>> excelDatas类型的对象,其中每一个map对象代表了一行数据,在map对象中每一列都是key值,值是Object对象。 2,构建一个存储对象,这里构建高效校区的信息存储 List<PrmCollegeArea> prmCollegeAreas =Lists.newArrayList()
3,遍历excel的每行数据。
for (int lineId = 0; lineId < excelDatas.size(); lineId++) { 4 获取每一行的数据,根据列名查找对应的值。 Map<String,Object> rowData=excelDatas.get(lineId); String collegeName=getRowValue(rowData,"学校名称",String.class); String name=getRowValue(rowData,"校区名称",String.class); //new一个PrmCollege对象 将prmCollege的id,name,进行赋值。 利用学校名称查询大学college对象oneCollegeByName,之后将college对象oneCollegeByName相应的值,赋值给prmCollegeArea //利用查询出现的oneCollegeByName将prmCollegeArea国家省市区自动补上。
if (null != oneCollegeByName.getCountryId()) { prmCollegeArea.setCountryId(oneCollegeByName.getCountryId()); } if (null != oneCollegeByName.getStateId()) { prmCollegeArea.setStateId(oneCollegeByName.getStateId()); } if (null != oneCollegeByName.getCityId()) { prmCollegeArea.setCityId(oneCollegeByName.getCityId()); } if (null != oneCollegeByName.getAreaId()) { prmCollegeArea.setAreaId(oneCollegeByName.getAreaId()); }
之后再将excel的数据的国,省,市,区加入到prmCollegeArea对象中,之后验证加入和更新操作,没有问题的话就可以新增和加入了
}
public String batchImport(MultipartFile file) throws GenericException {
}