我正在使用POI java庫來讀取Excel。POI:錯誤的單元格數每行窗體方法getPhysicalNumberOfCells
我的Exel有一個由8列組成的簡單結構。
問題是通過方法getPhysicalNumberOfCells讀取列長度我得到每行不同的數字。
我正在使用POI java庫來讀取Excel。POI:錯誤的單元格數每行窗體方法getPhysicalNumberOfCells
我的Exel有一個由8列組成的簡單結構。
問題是通過方法getPhysicalNumberOfCells讀取列長度我得到每行不同的數字。
問題是,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
}
哇,根據我所看到的,你把自己的答案放在你發佈你的問題的同一時刻。 – slaadvak
http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ – zeppaman
只有在您認爲自己知道的情況下才能做到這一點,其他方式則不行知道......但我們都知道你們兩個人之間的區別......一旦你們做了同樣的事情......請接受答案,以便它不能被視爲未解決的問題。 – Sankumarsingh
的[獲取特定行的列數在Excel中給出的(可能重複http://stackoverflow.com/questions/18489817/get-number-of-columns-of-a-row-in-given-excel) – Sankumarsingh