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

0lvr5msh  于 2023-01-07  发布在  Java
关注(0)|答案(1)|浏览(111)

我有一个场景,从Excel工作表中提取整个第3行数据并传递到数据提供程序。我可以提取Excel工作表中可用的所有行(请找到下面的代码)。但是,我想提取第n行数据并传递到数据提供程序注解。提前感谢
实用程序类:

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;
    }

我正在准备实用程序类,用于获取单行数据并传递到testng中的数据提供程序注解

0s0u357o

0s0u357o1#

阅读数据后只返回第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行后中断循环。

相关问题