繁体   English   中英

如何从 excel 表中获取单行并使用 java 传递到 testng 数据提供程序

[英]How to fetch single row from excel sheet and pass into testng data provider using java

我有一个方案可以从 excel 工作表中获取整个第 3 行数据并传递给数据提供者。 我可以获取 excel 表中的所有可用行(请在下面找到代码)。 但是,我想获取第 n 行数据并传递给数据提供者注释。 提前致谢

实用程序 class:

public static Object[][] getTestData(String sheetName) {
        Object[][] data = null;
        DataFormatter fmt = new DataFormatter();
        try (Workbook workbook = new XSSFWorkbook(
                new FileInputStream("path"))) {
            Sheet sheet = workbook.getSheet(sheetName);
            data = new Object[sheet.getLastRowNum()][sheet.getRow(0).getLastCellNum()];
            for (int i = 0; i < sheet.getLastRowNum(); i++) {
                for (int k = 0; k < sheet.getRow(0).getLastCellNum(); k++) {
                    data[i][k] = fmt.formatCellValue(sheet.getRow(i + 1).getCell(k));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return data;
    }

我正在准备实用程序 class 以获取单行数据并传递到 testng 中的数据提供程序注释

读取数据后返回第3行即可

for (int i = 0; i < sheet.getLastRowNum(); i++) {
                for (int k = 0; k < sheet.getRow(0).getLastCellNum(); k++) {
                    data[i][k] = fmt.formatCellValue(sheet.getRow(i + 1).getCell(k));
                }
            }
if (i>2) 
  for k...
  return data[2,k]

如果不需要获取所有行,则在读取第 3 行后中断循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM