我正在尝试读取一个包含用户名和密码列表的 excel 文件。我得到"java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 2"
我的 Excel 如下所示
用户名---密码U1 P1
U2 P2
U3 P3
U4 P4
意思是,它有 2 列和 5 行。我不希望第一行被计算在内,所以我给了对象数据[][] = 新的对象[行-1][cols];
请协助解决问题。谢谢
package com;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class LoginTest {
@Test(dataProvider="getData")
public void doLogin(String userName, String password){
}
@DataProvider
public Object[][] getData(){
Xls_Reader xls = new Xls_Reader("E:\Pessoal\QTPSelenium\Excel\Login.xlsx");
int rows = xls.getRowCount("Login");
System.out.println("Row Count---"+rows);
int cols = xls.getColumnCount("Login");
System.out.println("Column Count---"+cols);
Object data[][] = new Object[rows-1][cols];
for(int rNum=2;rNum<=rows;rNum++){
for(int cNum=0;cNum<=cols;cNum++){
System.out.println(xls.getCellData("Login", cNum, rNum));
//ERROR IN THIS LINE
data[rNum][cNum] = xls.getCellData("Login", cNum, rNum);
}
}
return data;
}
}
我在这一行中遇到错误
data[rNum][cNum] = xls.getCellData("Login", cNum, rNum);
试试这个
for(int rNum=1;rNum<rows;rNum++){
for(int cNum=0;cNum<cols;cNum++){
System.out.println(xls.getCellData("Login", rNum, cNum));
data[rNum-1][cNum] = xls.getCellData("Login", rNum, cNum);
}
}
"for(int cNum=0;cNum<=cols;cNum++)"
请将"cNum<=cols"更改为"cNum