@Override public ResultBean txImportDqKpi(String filePath) { ResultBean rb = new ResultBean(); int success = 0, fail = 0; StringBuffer sb = new StringBuffer(); try { File file = new File(fsConfig.getFsRoot() + filePath); Workbook wb = Workbook.getWorkbook(new FileInputStream(file)); Sheet sheet = wb.getSheet(0); int rows = sheet.getRows(); List<SchDqKpiHead> dqKpiHeadList = new ArrayList<SchDqKpiHead>(); SchDqKpiHead dqKpiHead = null; for (int row = 2; row < rows; row++) { if (!TopUtil.isValidValue(sheet.getCell(0, row).getContents())) { continue; } try { dqKpiHead = new SchDqKpiHead(); dqKpiHead.setHeadId(new Long(this.checkIfNullToZero(sheet.getCell(0, row).getContents()))); dqKpiHead.setDqKpiCode(sheet.getCell(1, row).getContents()); dqKpiHead.setDqKpiName(sheet.getCell(2, row).getContents()); dqKpiHead.setDqKpiDesc(sheet.getCell(3, row).getContents()); dqKpiHead.setCalculateSql(sheet.getCell(4, row).getContents()); dqKpiHead.setAlterCondition(sheet.getCell(5, row).getContents()); dqKpiHead.setAlterMsg(sheet.getCell(6, row).getContents()); dqKpiHead.setObjectType(sheet.getCell(7, row).getContents()); dqKpiHead.setDqKpiType(sheet.getCell(8, row).getContents()); dqKpiHead.setKpiStatus(sheet.getCell(9, row).getContents()); dqKpiHead.setObjectCode(sheet.getCell(10, row).getContents()); dqKpiHead.setRunPosition(sheet.getCell(11, row).getContents()); dqKpiHead.setRunOrder(sheet.getCell(12, row).getContents()); dqKpiHead.setPonderance(sheet.getCell(13, row).getContents()); dqKpiHead.setEnabledFlag(sheet.getCell(14, row).getContents()); dqKpiHead.setCreatedBy("import"); dqKpiHead.setCreatedDate(new Date()); dqKpiHead.setLastUpdatedBy("import"); dqKpiHead.setLastUpdatedDate(new Date()); dqKpiHeadList.add(dqKpiHead); success++; } catch (Exception e) { log.error(e); e.printStackTrace(); fail++; continue; } } sb.append("表:SCH_DQ_KPI_HEAD 成功:" + success + "条,失败:" + fail + "条</br>"); success = fail = 0; coreDao.saveOrUpdate(dqKpiHeadList); rb.setData(dqKpiHeadList); sheet = wb.getSheet(1); rows = sheet.getRows(); List<SchDqKpiLine> dqKpiLineList = new ArrayList<SchDqKpiLine>(); SchDqKpiLine dqKpiLine = null; for (int row = 2; row < rows; row++) { if (!TopUtil.isValidValue(sheet.getCell(0, row).getContents())) { continue; } try { dqKpiLine = new SchDqKpiLine(); dqKpiLine.setLineId(new Long(this.checkIfNullToZero(sheet.getCell(0, row).getContents()))); dqKpiLine.setHeadId(new Long(this.checkIfNullToZero(sheet.getCell(1, row).getContents()))); dqKpiLine.setDtlCode(sheet.getCell(2, row).getContents()); dqKpiLine.setDtlName(sheet.getCell(3, row).getContents()); dqKpiLine.setExecSql(sheet.getCell(4, row).getContents()); dqKpiLine.setAttribute1(sheet.getCell(5, row).getContents()); dqKpiLine.setAttribute2(sheet.getCell(6, row).getContents()); dqKpiLine.setAttribute3(sheet.getCell(7, row).getContents()); dqKpiLine.setAttribute4(sheet.getCell(8, row).getContents()); dqKpiLine.setAttribute5(sheet.getCell(9, row).getContents()); dqKpiLine.setAttribute6(sheet.getCell(10, row).getContents()); dqKpiLine.setAttribute7(sheet.getCell(11, row).getContents()); dqKpiLine.setAttribute8(sheet.getCell(12, row).getContents()); dqKpiLine.setAttribute9(sheet.getCell(13, row).getContents()); dqKpiLine.setAttribute10(sheet.getCell(14, row).getContents()); dqKpiLine.setEnabledFlag(sheet.getCell(15, row).getContents()); dqKpiLine.setCreatedBy("import"); dqKpiLine.setCreatedDate(new Date()); dqKpiLine.setLastUpdatedBy("import"); dqKpiLine.setLastUpdatedDate(new Date()); dqKpiLineList.add(dqKpiLine); success++; } catch (Exception e) { log.error(e); e.printStackTrace(); fail++; continue; } } sb.append("表:SCH_DQ_KPI_LINE 成功:" + success + "条,失败:" + fail + "条</br>"); success = fail = 0; coreDao.saveOrUpdate(dqKpiLineList); rb.setMessage(sb.toString()); } catch (Exception e) { log.error(e); e.printStackTrace(); rb.setSuccess(false); rb.setMessage(e.getMessage()); } return rb; }
这是jxl解析excel(多个子表)的代码,权当记录,怕忘记。