我使用Apache POI阅读Excel文档。如果current为空,我想从下一行获取单元格值。例如,从第一行获取所有非空单元格值和空单元格:移动到下一行并获取值。 这是我用来阅读Excel文档的代码
//every sheet has rows, iterate over them
Iterator<Row> rowIterator = sheet.iterator();
if (rowIterator.hasNext())
rowIterator.next();
while (rowIterator.hasNext())
{
String libelle="";
.....
//Get the row object
Row row = rowIterator.next();
//Every row has columns, get the column iterator and iterate over them
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext())
{
//Get the Cell object
Cell cell = cellIterator.next();
//check the cell type and process accordingly
//2nd column
switch(cell.getCellType()){
case Cell.CELL_TYPE_STRING:
......
if (row.getCell(5) == null)
{
System.out.println("Cell is Empty in Column:" );
} else if (row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_STRING)
{
libelle= row.getCell(5).getStringCellValue().trim();
}
...
答案 0 :(得分:4)
您可以使用Sheet.getRow(int rownumber)
获取具有特定号码的行。
您可以通过Row.getRowNum()
获取当前行的号码,并通过Cell.getColumnIndex()
获取该单元格的索引。
因此,下一行中单元格的值将为
Row nextRow = sheet.getRow(row.getRowNum() + 1);
if (nextRow != null)
String value = nextRow.getCell(curCel.getColumnIndex(), Row.CREATE_NULL_AS_BLANK).getStringCellValue();
答案 1 :(得分:1)
如果计算出的索引小于Cell.getRowIndex(),则可以通过Sheet.getRow(int)方法查找当前Sheet.getLastRowNum()以访问下一个Row
,以便访问{{3}以下Cell
的{{1}}。