2014-10-14 3 views
0

Я пытаюсь получить значение следующей ячейки в после того, как строка будет найдена. Скажем, я получаю A1 как ячейку, содержащую строку поиска «здесь», я пытаюсь получить содержимое следующей ячейки после A1 в строке.Java excel: Получить следующую ячейку в строке

private static String findRow(XSSFSheet sheet, String cellContent) { 
      for (Row row : sheet) { 
       for (Cell cell : row) { 
        if (cell.getCellType() == Cell.CELL_TYPE_STRING) { 
         if (cell.getRichStringCellValue().getString().trim().equals(cellContent)) { 
          cell = cell.getNextRowCell //made up method 
          return cell.getStringCellValue(); 

         } 
        } 
      } 
+0

ли вы попробуйте прочитать [Apache POI Документация по Перебор строк и ячеек] (http://poi.apache.org/spreadsheet/quick-guide.html#Iterator)? – Gagravarr

+0

Nevermind. Я понял. – user3078335

ответ

0
I figured it out. 

private static String getNextRow(XSSFSheet sheet, String cellContent) { 
     Iterator<Row> itr = sheet.iterator(); 
     while (itr.hasNext()) { 
      Row row = itr.next(); 
      Iterator<Cell> cellIterator = row.cellIterator(); 
      while (cellIterator.hasNext()) { 
       Cell cell = cellIterator.next(); 
       if (cell.getCellType() == Cell.CELL_TYPE_STRING) { 
        if (cell.getRichStringCellValue().getString().trim() 
          .equals(cellContent)) { 
         row = itr.next(); 
         int val = cell.getColumnIndex(); 
         cell = row.getCell(val); 
         String srow = cell.getStringCellValue(); 
         return srow; 

        } 

       } 

      } 
     } 

     return null; 
    }