public class TestUtil extends TestBase {
TestUtil testUtil;
static Workbook book;
static Sheet sheet;
public void switchToFrame() {
driver.switchTo().frame("mainpanel");
}
public static String TESTDATA_SHEET_PATH = ".\\src\\main\\java\\com\\testData\\FreeCRMTestData.xlsx";
public static Object[][] getTestData(String sheetName) {
FileInputStream file = null;
try {
file = new FileInputStream(TESTDATA_SHEET_PATH);
} catch (Exception e) {
e.printStackTrace();
}
try {
book = WorkbookFactory.create(file);
} catch (Exception e) {
e.printStackTrace();
}
// Get the Sheet.
sheet = book.getSheet(sheetName);
//getLastRowNum() Gets the number last row on the sheet.
//getLastCellNum() Gets the index of the last cell contained in this row PLUS ONE.
Object[][] 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] = sheet.getRow(i + 1).getCell(k).toString();
}
}
return data;
}
}
说明: 我想从Java读取带有X列和Y行的Excel文件。 语句Object [] [] data = new Object [] []是什么意思? 谁能给我整个代码段的简单注释?
答案 0 :(得分:1)
在此声明中
Object[][] data = new Object[sheet.getLastRowNum()][sheet.getRow(0).getLastCellNum()];
它正在创建对对象的引用数组的引用数组。第一个数组用于行,叶子数组用于列值。
实际上,仅添加了String
个对象,所以我会这样写。
int rows = sheet.getLastRowNum();
int columns = sheet.getRow(0).getLastCellNum();
String[][] data = new String[rows][columns];
如果要查看运行时的外观,建议您逐步调试程序中的代码。
答案 1 :(得分:0)
*编辑:此答案是在问题更改之前写的。
语句Object [] [] data = new Object [] []的含义是什么 Java?
表示对象的二维数组。什么是物体?对象是Java中的任何非原始数据类型。
注意:实例化时需要指定大小
示例:
String[][] foo = new String[2][3];
答案 2 :(得分:0)
Object[][] data
表示对象数组的数组。
例如:
Object[][] data = new Object[3][4];
构造一个包含3个元素的数组。
这3个元素中的每一个都是具有4个对象的数组。
但是,所有这些对象仍然是null
。
答案 3 :(得分:0)
"Object[][] data = new Object[][]"
"Object[][]"
是对象的二维数组
"data"
是此数组的名称
"new Object[][]"
,在这里,您对计算机说,该数组具有x行和y列的结构
举一个例子:
"Object[][] data = new Object[5][4]"
->在这种情况下,您创建了一个包含5行4列的二维数组,它是这样的:
[][][][]row number 1 with 5 columns
[][][][]row number 2 with 5 columns
[][][][]row number 3 with 5 columns
[][][][]row number 4 with 5 columns
[][][][]row number 5 with 5 columns
但是您的计算机会更像这样:
[][][][] [][][][] [][][][] [][][][] [][][][]
在所有框中可能是一个对象