使用POI从Excel工作表的下一行获取价值

ItS*_*ine 3 java import-from-excel apache-poi

我正在使用Apache POI读取Excel文档。如果当前为空,我想从下一行获取单元格值。例如,从第一行获取所有非空单元格值,对于空单元格:移至下一行并获取值。这是我用来阅读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();
                            }
Run Code Online (Sandbox Code Playgroud)

...

flo*_*flo 5

您可以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();
Run Code Online (Sandbox Code Playgroud)