2017-06-12 4 views
0

Zunächst habe ich 4 Zeilen mit Daten verwendet und dann löschte ich die letzten zwei Zeilen. Das Problem ist, ich bekomme immer noch 4 als die Gesamtzahl der Zeilen. Was sollte ich tun, um die Anzahl zu aktualisieren?Wie bekomme ich aktualisierte Zeilenanzahl von Excel mit Apache poi

FileInputStream inputStream = new FileInputStream(new File(excelFilePath)); 

    Workbook workbook = new XSSFWorkbook(inputStream); 
    Sheet firstSheet = (Sheet) workbook.getSheetAt(0); 
    System.out.println("No of rows:"+firstSheet.getPhysicalNumberOfRows()); 
    Iterator<Row> iterator = firstSheet.iterator(); 

    try{ 

    while (iterator.hasNext()) { 
     Row nextRow = iterator.next(); 
     Iterator<Cell> cellIterator = nextRow.cellIterator();      

     while (cellIterator.hasNext()) { 

      Cell cell = cellIterator.next(); 
      cell.setCellType(Cell.CELL_TYPE_STRING); 

      if(!cell.getStringCellValue().isEmpty()){ 

       switch (cell.getCellType()) { 
       case Cell.CELL_TYPE_STRING: 
        writer.append(cell.getStringCellValue());       
        break;     

      } 
      }    
      }    
      }  
     }finally{ 
     inputStream.close(); 
     workbook.close();   
     writer.flush(); 
     writer.close();    

    } 
+0

Gehen Sie zum Excel-Dokument, wählen Sie gelöschte Zeilen und löschen Sie den Inhalt. Wenn Sie etwas in die Zelle eingegeben haben, wird es als verwendet markiert und in die physische Anzahl der Zeilen/Zellen eingeschlossen, es sei denn, Sie haben es gelöscht. –

+0

@TarasShpulyar Ich habe den Inhalt gelöscht, indem ich die gelöschten Zeilen mit der Option "Inhalt löschen" ausgewählt habe. Aber ich bekomme immer noch die gleiche Anzahl von Zeilen. – user1553680

Antwort

0

Das Problem wurde durch das Löschen Ganze Zeile in der Excel-.if Sie einige Daten in der Excel löschen möchten gelöscht wurde, gehen Sie bitte die gesamte Zeile nicht nur klare Inhalte in der Zelle statt löschen.