2017-06-12 54 views
0

最初我已經使用了4行數據,然後我刪除了最後兩行。問題是,我仍然得到4作爲行的總數。我應該怎麼做才能更新計數。我怎樣才能從Excel使用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

轉到Excel文檔,選擇刪除的行並清除內容。如果您在單元格中輸入了任何內容,則會將其標記爲已使用並將包含在物理行數/單元格中,除非您將其清除。 –

+0

@TarasShpulyar我已通過選擇使用清除內容選項刪除的行清除了內容。但我仍然得到相同的行數。 – user1553680

回答

0

問題已通過刪除Excel的整行。如果你想在Excel中刪除一些數據清除,請不要在明確內容在單元格中,而不是刪除整個行。