码迷,mamicode.com
首页 > 编程语言 > 详细

jxl解析多个excel工作表-java代码

时间:2017-09-13 15:28:42      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:obj   rac   blog   upd   ctc   try   sql   catch   ret   

    @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(多个子表)的代码,权当记录,怕忘记。

jxl解析多个excel工作表-java代码

标签:obj   rac   blog   upd   ctc   try   sql   catch   ret   

原文地址:http://www.cnblogs.com/pongyc/p/7514580.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!