2014-02-24 4 views
2

제거이 마지막 행이 항상 제거됩니다하지 않습니다 어떤 이유로 그러나 행는 마지막 행 아파치 POI

public static void removeRow(Sheet sheet, int rowIndex) { 
    int lastRowNum = sheet.getLastRowNum(); 
    if (rowIndex >= 0 && rowIndex < lastRowNum) { 
     sheet.shiftRows(rowIndex + 1, lastRowNum, -1); 
    } 
    if (rowIndex == lastRowNum) { 
     Row removingRow = sheet.getRow(rowIndex); 
     if (removingRow != null) { 

     // to verify that I am dealing with the last row 
      System.out.println(sheet.getRow(lastRowNum).getCell(0).toString() ; 
     // I created a unique string for the last row so that to make sure everything is ok 

      sheet.removeRow(removingRow); // does not always work 
     } 
    } 
} 

을 제거하는 인기있는 방법입니다. 나는 그것을 두 번 확인했습니다. System.out.println

아무도 발견되지 않았습니다. 어떻게 처리 할 수 ​​있습니까?

+0

여러 번 동일한 코드를 시도했습니다 ... 정상적으로 작동하고 예상 된 결과를 항상 제공하는 것처럼 보입니다. rowIndex 값이 if 조건을 전달하지 못하게하는 경우, 그렇지 않으면 항상 제거합니다. – Sankumarsingh

답변

1

시도이 하 :

INT lastRowNum sheet.getLastRowNum =() + 1;