Java Apache POI在行数据列

时间:2016-12-22 06:13:04

标签: apache-poi

我有100行10列。逐行读取每一行和列。在第10列之后,光标不会移动到下一行。 这将是11 12 13等专栏。任何人都可以帮助我如何在读取第10列时移动下一行以及如何停止读取空11列。

以下是一些代码:

while (rowIterator.hasNext()) { 
    row = rowIterator.next(); 
    while (cellIterator.hasNext()) { 
        cell = cellIterator.next(); 
        if(cell.getColumnIndex()==0 ) { } 
        ..... 
        if(cell.getColumnIndex()==10) { } 
    }
}

1 个答案:

答案 0 :(得分:1)

首先,但这不一定能解决您的问题,您应该使用for each语法来迭代行和列,然后一旦超过第10列,就可以像这样突破循环:

for (Row row : sheet){
    for (Cell cell : row) {
        ...
        if (cell.getColumnIndex() >= 10) break;
    }
}

这在POI快速指南中有记录:https://poi.apache.org/spreadsheet/quick-guide.html#Iterator

注意:当列索引为10或更大时,我正在打破(这将是第11列,因为索引是基于0的)。我之所以提到这一点,只是因为你的代码示例使用了0到10列索引,但你的文本说只有10个有效列。