2014-04-29 23 views

回答

2

問題是,getPhysicalNumberOfCells與我的想法有不同的含義。

getPhysicalNumberOfCells返回具有內容的行中的單元格數。

實際上,POI爲每行存儲的只是添加到exel中的數據,例如,如果數據在列0,3,5中,getPhysicalNumberOfCells將始終返回3,因爲3是「填充」單元的數量。

爲了更好地實現獲取單元的邏輯numeber中,我們使用一個行的目的:

getLastCellNum() 

據白衣文檔,此方法獲得的最後一個單元格的指數。這個值增加BY ONE,所以在上面的例子中,最大索引5的最大值將是6 ..我認爲這樣做是爲了簡化對rowcell的迭代。

此外,存在一種方法

getLastCellNum 

,顯示第一小區索引。

一個例子,從官方文檔的啓發:

short minColIdx = row.getFirstCellNum(); 
    short maxColIdx = row.getLastCellNum(); 
    for(short colIdx=minColIdx ; colIx<maxColIdx ; colIdx++) { 
    Cell cell = row.getCell(colIx); 
    //get value of cell 

}

+1

哇,根據我所看到的,你把自己的答案放在你發佈你的問題的同一時刻。 – slaadvak

+2

http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ – zeppaman

+0

只有在您認爲自己知道的情況下才能做到這一點,其他方式則不行知道......但我們都知道你們兩個人之間的區別......一旦你們做了同樣的事情......請接受答案,以便它不能被視爲未解決的問題。 – Sankumarsingh