import java.io.*;
import java.util.*;
import jxl.*;
import jxl.read.biff.BiffException;
public class ExcelIO {
// A factory method which takes in an excel file and reads in the contents.
public static void readData(String args[]) throws BiffException, IOException{
Workbook wb= Workbook.getWorkbook(new File("E:\Java\java ramesh trainer notes\Selenium\ReadData.xlsx"));
Sheet sheet= wb.getSheet(0);
String[][] col;
//get username and password from excel
for(int i=0;i<sheet.getRows();i++){
for(int j=0; j<sheet.getColumns();j++){
Cell cell= sheet.getCell(i+1,j+1);
String str= cell.getContents();
col= str.toString();
}
}
}
}
还需要初始化数组。col = new String[x][y]
如果你需要找到数组的大小,你可以运行一个初始循环并记录数组的大小,或者在数组已满时重新调整数组的大小。
另外,正如其他人指出的,你将需要。[j] = str;
jxl的getContents方法返回一个字符串,所以toString()方法应该是不必要的。
当这样迭代时,需要将每个索引处的col
的值设置为字符串,而不是col
本身。col
是一个二维数组,而不是字符串。因此,您需要将col[i][j]
处的字符串更改为str.toString()
。在一个相关的主题中,您可以将col
的每一列设置为1-D数组,就像在col[i] = new String[length]
中一样,因为col[i]
是一个字符串数组,等等。
另外,值得注意的是,您必须初始化col
以具有高度和宽度,因为数组不能更改大小或添加单元格。