@RequestMapping("InputExcel")
@ResponseBodypublic ResultEntity InputExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
ResultEntity result= newResultEntity();if (!file.isEmpty()) {try{//获取原始的文件名
String originalFilename =file.getOriginalFilename();
String fileType= originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());//默认从第一行开始读取
Integer startRows = 1;//获取输入流
InputStream is =file.getInputStream();
List bindingList = new ArrayList<>();
List bookcaseList = new ArrayList<>();
List strings = ExcelUtil.readData(fileType, startRows, true, is);//这里使用输入流把数据拿到//遍历Excel表每一行的数据
for(String[] str : strings) {//这里比较特殊,肯定有更简便的办法,暂时我就只有这个水平、、、尴尬
Bookcase bookcase= newBookcase();
DoorAntRel doorAntRel= newDoorAntRel();
bookcase.setName(str[1]);
bookcase.setType(str[2]);
bookcase.setCom(Integer.parseInt(str[3]));
doorAntRel.setDoorName(str[4]);
doorAntRel.setDoorNo(Integer.parseInt(str[5]));
doorAntRel.setAntennaNo(Integer.parseInt(str[6]));
doorAntRel.setReadWriterId(Integer.parseInt(str[7]));
doorAntRel.setBookcaseId(Integer.parseInt(str[8]));
doorAntRel.setBadFlag(Integer.parseInt(str[9]));
doorAntRel.setDoorSlot(Integer.parseInt(str[10]));
bindingList.add(doorAntRel);
bookcaseList.add(bookcase);
}boolean bookState =bookcaseService.insertOrUpdateBatch(bookcaseList);boolean doorState =doorAntRelService.insertOrUpdateBatch(bindingList);if(bookState){if(doorState){
result.setState(HttpCode.SUCCESS);
result.setMessage("上传文件成功!");returnresult;
}
}
}catch(IOException e) {
e.printStackTrace();
}
}
result.setState(HttpCode.FAILED);
result.setMessage("上传文件失败!");returnresult;
}