如何阅读 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