这个excel方法做什么?

时间:2015-12-22 15:08:41

标签: java excel apache-poi

我的代码片段就在这里:

SELECT * 
FROM Customers 
where CustomerName LIKE '%#_%' escape '#';

我理解代码中的所有方法(除了一个),例如: getCellData()返回特定行中的数据&柱。 getRowCount()返回工作表中的行数。 getRowContains()返回某个数据的行。

我不承诺的方法是最后一种方法" getTestStepsCount"。我一遍又一遍地试着读它,但我还是没有得到它。它似乎与getRowCount方法非常相似,但同时却没有。

有人在代码阅读方面更有经验,请帮助我理解它吗?

1 个答案:

答案 0 :(得分:4)

您的方法只是检查指定工作表的指定列中的每一行。

一步一步:

方法参数:

  • String SheetName =>发生验证的工作表名称
  • String sTestCaseID =>你正在寻找的字符串
  • int iTestCaseStart =>用作搜索偏移的行数

方法的步骤:

  1. For循环进行搜索,如果找到则返回结果
  2. 如果没有结果循环,则返回另一个值
  3. 第1步的详细信息:

        for(int i=iTestCaseStart;i<=ExcelUtils.getRowCount(SheetName);i++){
            if(!sTestCaseID.equals(ExcelUtils.getCellData(i, Constants.Col_TestCaseID, SheetName))){
                int number = i;
                return number;
            }
        }
    

    此处for循环在您的偏移iTestCaseStart和工作表的行数之间进行迭代。

    对于此循环中的每一行,它正在检查行i和列Constants.Col_TestCaseID中单元格内的数据是否与sTestCaseID的值不同。

    • 如果它们不同,该方法将获得该行的索引(这是i的值)。
    • 如果没有,请继续迭代

    如果在最后一行之前找不到不同的值,则循环结束,然后是步骤2.

    第2步的详细信息:

        ExcelWSheet = ExcelWBook.getSheet(SheetName);
        int number=ExcelWSheet.getLastRowNum()+1;
        return number;
    

    如果进入步骤2,该方法将返回最后一行的索引+ 1

    其他评论

    在此代码中可以进行许多改进......