利用POI讀取Excel有效行數(含有內容)
阿新 • • 發佈:2019-01-22
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)); }