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 [][] 是什么意思?任何人都可以给我整个代码片段的简单评论吗?
3 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
在这份声明中
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];
如果你想看看它在运行时的样子,我建议在你的调试器中单步调试代码。
慕田峪7331174
TA贡献1828条经验 获得超13个赞
Object[][] data
表示对象数组的数组。
例如:
Object[][] data = new Object[3][4];
构造一个包含 3 个元素的数组。这 3 个元素中的每一个都是一个包含 4 个对象的数组。然而,所有这些对象仍然是null
.
叮当猫咪
TA贡献1776条经验 获得超12个赞
这个答案是在问题改变之前写的。
语句 Object[ ][ ] data = new Object [ ][ ] 在 Java 中是什么意思?
这意味着对象的二维数组。什么是对象?对象是 Java 中的任何非原始数据类型。
注意:实例化时需要指定大小
例子:
String[][] foo = new String[2][3];
添加回答
举报
0/150
提交
取消