如何阅读 JXL Excel Sheet 行和列
How to read JXL Excel Sheet Rows and columns
我从阅读 excel 中迭代了行和列,但显示 Arrayindexoutofbound
异常。我在下面给出了我的代码和错误
代码:
for (int i = 0; i <= wb.getSheet(0).getRows(); i++) {
for (int j = 0; j <= wb.getSheet(0).getColumns(); j++) {
String testData = wb.getSheet(0).getCell(i, j).getContents();
System.out.println(testData);
}
}
Stackrace
User id
en0063
en0070
Psw
en0063
THEROCKZ1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:356)
at ExcelRead.main(ExcelRead.java:29)
Excel 图片
您超出了报表的行数和列数 - 将 <=
更改为 <
for (int i = 0; i < wb.getSheet(0).getRows(); i++) {
for (int j = 0; j < wb.getSheet(0).getColumns(); j++) {
String testData = wb.getSheet(0).getCell(i, j).getContents();
System.out.println(testData);
}
}
顺便说一下,如果您将 sheet
存储在一个变量中,例如
,那么阅读起来会容易得多
Sheet firstSheet = wb.getSheet(0);
并将其重新用作
for (int i = 0; i < firstSheet.getRows(); i++) {
// etc
编辑
我建议您打印出行数和单元格数,因为您使用的库似乎也包含空白的。也许你需要测试一下。
考虑一下你可以有类似的东西
X X X
X X X
X X X X
我从阅读 excel 中迭代了行和列,但显示 Arrayindexoutofbound
异常。我在下面给出了我的代码和错误
代码:
for (int i = 0; i <= wb.getSheet(0).getRows(); i++) {
for (int j = 0; j <= wb.getSheet(0).getColumns(); j++) {
String testData = wb.getSheet(0).getCell(i, j).getContents();
System.out.println(testData);
}
}
Stackrace
User id
en0063
en0070
Psw
en0063
THEROCKZ1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:356)
at ExcelRead.main(ExcelRead.java:29)
Excel 图片
您超出了报表的行数和列数 - 将 <=
更改为 <
for (int i = 0; i < wb.getSheet(0).getRows(); i++) {
for (int j = 0; j < wb.getSheet(0).getColumns(); j++) {
String testData = wb.getSheet(0).getCell(i, j).getContents();
System.out.println(testData);
}
}
顺便说一下,如果您将 sheet
存储在一个变量中,例如
Sheet firstSheet = wb.getSheet(0);
并将其重新用作
for (int i = 0; i < firstSheet.getRows(); i++) {
// etc
编辑
我建议您打印出行数和单元格数,因为您使用的库似乎也包含空白的。也许你需要测试一下。
考虑一下你可以有类似的东西
X X X
X X X
X X X X