2015-02-27 4 views
1

продолжение. на java apache poi (part 1)java apache poi (часть 2)

  • Код

    ... 
    while(rowIterator.hasNext()){ 
        List<String> record = new ArrayList<String>(); 
    
        row = (XSSFRow)rowIterator.next(); 
    
        Iterator<Cell> cellIterator = row.cellIterator(); 
    
        while(cellIterator.hasNext()){ 
         cell = cellIterator.next(); 
         cell.setCellType(Cell.CELL_TYPE_STRING); 
    
         switch(cell.getCellType()){ 
          case Cell.CELL_TYPE_STRING: 
           record.add(cell.getStringCellValue()); 
           break; 
          case Cell.CELL_TYPE_NUMERIC: 
           record.add(Double.toString 
           (cell.getNumericCellValue())); 
          break; 
         } 
        } 
        readFile(); 
    } 
    
    public void readFile(){ 
        String ID = record.get(0); 
        System.out.println(ID); 
    } 
    ... 
    
  • Из выше кода, мой выход, как показано ниже:
    ID

  • Мой ожидаемый результат должен вот так:

  • Мой вопрос заключается в том, чтобы удалить первую строку из Excel (ID), из приведенного выше кода?

ответ

3

Для того, чтобы пропустить первую строку:

while(rowIterator.hasNext()){ 

    row = (XSSFRow)rowIterator.next(); 

    if(row.getRowNum()==0) { 
     continue; 
    } 

    List<String> record = new ArrayList<String>(); 
    Iterator<Cell> cellIterator = row.cellIterator(); 
    ... 
    readFile(); 
} 
0

Добавить rowIterator.next(); выше цикла While в программе, которая игнорирует первую строку. Так просто. Надеюсь, это вам поможет.

**rowIterator.next();** 
      while (rowIterator.hasNext()) 
      { 
       Row row = rowIterator.next(); 
       //For each row, iterate through all the columns 
       Iterator<Cell> cellIterator = row.cellIterator(); 

       while (cellIterator.hasNext()) 
       { 
        Cell cell = cellIterator.next(); 
        //Check the cell type and format accordingly 
        switch (cell.getCellType()) 
        { 
         case Cell.CELL_TYPE_NUMERIC: 
          System.out.print(cell.getNumericCellValue() + "t"); 
          break; 
         case Cell.CELL_TYPE_STRING: 
          System.out.print(cell.getStringCellValue() + "t"); 
          break; 
        } 
       } 
       System.out.println(""); 
      } 
      file.close(); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    }