2013-11-04 30 views
1

我想寫一個函數,讀取一個Excel模板,並開始寫在某個行索引。但是,我發現編號跳過了模板中的空白行。有沒有辦法在迭代過程中計算空行?XSSF計數丟失行

我試圖找到一個等效於missing cell policy的行。我也嘗試了這兩種迭代方式:

//simple for loop 
    for (Row row : sheet1) { 
    for (Cell cell : row) { 
     ... 
    } 
    } 

    //iterator 
    while (rows.hasNext()) { 
     XSSFRow row = ((XSSFRow) rows.next()); 
     ... 
    } 

兩者似乎都忽略空行。這會導致問題,因爲我的模板具有空白行來分隔引起行索引的部分,而且我必須手動更正目標索引以執行「開始在工作表第5行中寫入」等任務。

+0

請分享,您如何使用缺少的單元格策略... – Sankumarsingh

回答

2

根據我的理解,你的問題是你有一些行,這些行是空白的,但你無法弄清空行(即沒有單元格)。如果我是對的,你可以使用下面的檢查(以爲我沒有檢查過,但我認爲它應該可以工作)。

if(row!=null){ 
    for (int cellNo = 0; cellNo < lastColumn; cellNo ++){ 
     Cell cell = row.getCell(cellNo , Row.RETURN_BLANK_AS_NULL); 
     if(cell == null){ 
      //Code for the Blank Rows 
     } 
    } 
} 
0

試試這個。它會將空值顯示爲空白。

   for(Row blankRow : sheet) 
       { 
        for(int cn=1; cn<blankRow.getLastCellNum()-1; cn++) 
        { 
         Cell cells = blankRow.getCell(cn, Row.CREATE_NULL_AS_BLANK); 
        } 
       }