@ModuleName(value = "提货成本管理导入Excel保存", logType = LogType.fi) public String saveFiExcel(File excelFile, String fileName) throws Exception { User user = WebRalasafe.getCurrentUser(ServletActionContext.getRequest()); Long bussDepartId = Long.parseLong(user.get("bussDepart") + ""); List<FiDeliverycostExcel> fiList = new ArrayList<FiDeliverycostExcel>(); Long batchNo = fiDeliverycostExcelService.getBatchNO(bussDepartId); List list = null; if (fileName.toLowerCase().endsWith(".xlsx")) { ReadExcel2007 readExcel2007 = new ReadExcel2007(5); FileInputStream fint = new FileInputStream(excelFile); try { list = readExcel2007.readExcel2007(fint); } catch (Exception e) { throw new ServiceException("读取数据错误,存在非法空值"); } finally { if (fint != null) { fint.close(); fint = null; } } } else if (fileName.toLowerCase().endsWith(".xls")) { ReadExcel readExcel = new ReadExcel(5); FileInputStream fint = new FileInputStream(excelFile); try { list = readExcel.readExcel(fint); } catch (Exception e) { throw new ServiceException("读取数据错误,存在非法空值"); } finally { if (fint != null) { fint.close(); fint = null; } } } else { throw new ServiceException("请导入Excel文件,后缀为.xlsx或者.xls"); } for (int i = 0; i < list.size(); i++) { FiDeliverycostExcel fiDeliveryExcel = new FiDeliverycostExcel(); fiDeliveryExcel.setStatus(0l); fiDeliveryExcel.setBatchNo(batchNo); List row = (List) list.get(i); if (i != 0) { Iterator jt = row.iterator(); String company = (String) jt.next(); fiDeliveryExcel.setExcelCompany(company); jt.hasNext(); String excelNo = (String) jt.next(); fiDeliveryExcel.setExcelNo(excelNo); jt.hasNext(); String excelWeight = (String) jt.next(); if (excelWeight == null || "".equals(excelWeight)) { continue; } fiDeliveryExcel.setExcelWeight(Double.parseDouble(excelWeight)); jt.hasNext(); String excelAmount = (String) jt.next(); if (excelAmount == null || "".equals(excelAmount)) { continue; } fiDeliveryExcel.setExcelAmount((Double.parseDouble(excelAmount))); jt.hasNext(); String banFee = (String) jt.next(); if (banFee == null || "".equals(banFee)) { continue; } fiDeliveryExcel.setExcelBanFee(Double.parseDouble(banFee)); fiList.add(fiDeliveryExcel); } } for (FiDeliverycostExcel fiDeliverycostExcel : fiList) { fiDeliverycostExcelDao.save(fiDeliverycostExcel); } return batchNo + ""; }