1. 程式人生 > >利用POI讀取Excel有效行數(含有內容)

利用POI讀取Excel有效行數(含有內容)

public static void main(String[] args) {
		Workbook wb = null;  
        try {  
            wb = new HSSFWorkbook(new FileInputStream("G:\\excel\\test.xls"));  
        } catch (Exception e) {
            e.printStackTrace();
        }
        //獲取第一個畫布
        Sheet sheet = wb.getSheetAt(0);
        CellReference cellReference = new CellReference("A4");
        boolean flag = false;
        for (int i = cellReference.getRow(); i <= sheet.getLastRowNum();) {  
            Row r = sheet.getRow(i);
            if(r == null){
                //如果是空行(即沒有任何資料、格式),直接把它以下的資料往上移動  
                sheet.shiftRows(i+1, sheet.getLastRowNum(),-1);  
                	continue;  
            }  
            flag = false;
            for(Cell c : r){
                if(c.getCellType() != Cell.CELL_TYPE_BLANK){  
                    flag = true;  
                       break;  
                }
            }  
            if(flag){  
                i++;  
                continue;  
            }else{//如果是空白行(即可能沒有資料,但是有一定格式)  
                if(i == sheet.getLastRowNum()){
                	//如果到了最後一行,直接將那一行remove掉  
                	sheet.removeRow(r);  
                }else{
                	//如果還沒到最後一行,則資料往上移一行  
                	sheet.shiftRows(i+1, sheet.getLastRowNum(),-1);  
                }
            }  
        }
        System.out.println("有效行數為:"+(sheet.getLastRowNum()+1));
}