本篇文章主要介绍了"excl 自动化excl学习笔记",主要涉及到excl方面的内容,对于软件工程感兴趣的同学可以参考一下:
学习excl操作import java.io.File;import java.io.FileInputStream;import java.io.FileOu...
public static Object[][] getTestData(String excelFilePath, String sheetName) throws IOException {
// 根据参数传入的数据文件路径和文件名称,组合出 excel 数据文件的绝对路径
// 声明一个 file 文件对象
File file = new File(excelFilePath);
// 创建 FileInputStream 对象用于读取 excel 文件
FileInputStream inputStream = new FileInputStream(file);
// 声明 Workbook 对象
Workbook Workbook = null;
// 获取文件名参数的后缀名,判断是xlsx文件还是xls文件
String fileExtensionName = excelFilePath.substring(excelFilePath.indexOf("."));
// 判断文件类型如果是xlsx,则使用 XSSFWorkbook 对象进行实例化 2007
// 判断文件类型如果是xls,则使用 SSFWorkbook 对象进行实例化 2003
if (fileExtensionName.equals(".xlsx")) {
Workbook = new XSSFWorkbook(inputStream);
} else if (fileExtensionName.equals(".xls")) {
Workbook = new HSSFWorkbook(inputStream);
}
// 通过 sheetName 参数,生成 sheet 对象
Sheet Sheet = Workbook.getSheet(sheetName);
// 获取 excel 数据文件中 sheet1中数据的行数,getLastRowNum 方法获取数据的最后行号
// getFirstRowNum 方法获取数据的第一行行号,相减之后算出数据的行数
// 注意:excel 文件的行号和列号都是从 0 开始
int rowCount = Sheet.getLastRowNum() - Sheet.getFirstRowNum();
System.out.println(rowCount);
// 创建名为 records 的 list 对象来存储从 excel数据文件读取的数据
//
List
// 使用 2 个 for 循环遍历 excel 数据文件的所有数据(除了第一行,第一行是数据列名称)
// 所以 i 从1开始,而不是从 0; 0表示表头
for (int i = 1; i <= rowCount; i++) {
// 使用 getRow 方法获取行对象
Row row = Sheet.getRow(i);
/*
* 声明一个数组,来存储 excel 数据文件每行中的测试用例和数据,数组的大小用 getLastCellNum-1
* 来进行动态声明,实现测试数据个数和数组大小相一致因为 excel 数据文件中
* 的测试数据行的最后一个单元格为测试执行结果,倒数第二个单元格为此测试数据行
* 是否运行的状态位,所最后两列的单元格数据并不需要传入到测试方法中,所以使用 getLastCellNum-2
* 的方式去掉每行中的最后两个单元格数据,计算出需要存储的测试数据个数,并 作为测试数据数组的初始化大小
*/