@RequestMapping("/importExcel") public void importExcel(HttpServletResponse response, HttpServletRequest request) { MessageResult message = new MessageResult(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("excelFile"); List<Map<Object, Object>> list = new ArrayList<Map<Object, Object>>(); Workbook rwb = null; Cell cell = null; try { rwb = Workbook.getWorkbook(multipartFile.getInputStream()); // 获取文件的指定工作表 默认的第一个 Sheet sheet = rwb.getSheet(0); // 行数(表头的目录不需要,从1开始) for (int i = 1; i < sheet.getRows(); i++) { // 列数 Map<Object, Object> m = new HashMap<Object, Object>(); for (int j = 0; j < sheet.getColumns(); j++) { // 获取第i行,第j列的值 cell = sheet.getCell(j, i); if (StringUtils.isBlank(cell.getContents())) { throw new Exception("excel 第" + (i + 1) + "行 第" + (j + 1) + "列数据为空"); } else { Device device = deviceService.selectByPrimaryKeySN(cell.getContents().trim()); if (device != null && device.getSn()!=null) { throw new Exception("excel 第" + (i + 1) + "行 SN:"+cell.getContents()+"已存在"); } } m.put("m" + j, cell.getContents()); m.put("m1", NonceStringUtil.getUUID()); } // 把刚获取的列存入list list.add(m); } String info = deviceService.insertDeviceSum(list); String[] infoArr = info.split(";"); message.setCode(ConstantUtil.M_SUCCESS); message.setMessage("导入成功,共插入"+infoArr[0]+"条记录,其中成功"+infoArr[1]+"条"); this.out(response, message); } catch (Exception e) { e.printStackTrace(); message.setCode(ConstantUtil.M_SYSTEM_ERROR); message.setMessage(e.getMessage()); this.out(response, message); } }