POI解析excel,解決有空行出現的問題

2021-09-12 14:18:48 字數 1253 閱讀 6167

org.apache.poi

poi$

org.apache.poi

poi-ooxml

$

/*

* 根據excel檔案格式獲知excel版本資訊

*/private fun getworkbook(fs: inputstream, str: string): workbook? else

} catch (e: exception)

return book

}

private fun getexcelcontent(workbook: workbook?, result: mutablemap): arraylist

// 獲得有效行數

val rownum = sheet.getphysicalnumberofrows()

result.put("sum", rownum - 1)

val datalist = arraylist()

val rowiterator = sheet.rowiterator()

//去掉頭部資料

rowiterator.next()

var data: excelinfo? = null

for (i in 1 until rownum)

datalist.add(data)}}

return datalist

}

row = sheet.getrow(i);//如果有空行,workbook讀取excel資料為null
如果excel中有空行,通過sheet.getphysicalnumberofrows()方法可以獲取到空行後的資料,但是如果使用sheet.getrow方法獲取該行的資料時,空行後面的行資料為空。。。有人說是xssfworkbook這個類的問題,打斷點明明看到有資料,但就是獲取的時候為空,所以這裡換了一種方法來獲取資料。

val rowiterator = sheet.rowiterator()
資料是放在treemap裡的,這裡拿到它的迭代物件,通過next方法來獲取資料。

關於POI解析Excel遇到空行的問題

因為我們在錄入excel時如果直接按delete鍵刪除,poi會認為我們delete的這行是null,但是存在 那麼在讀取過程中,就會有行數干擾問題,導致報空指標異常 這裡我是這麼做的 int rowcount sheet.getlastrownum int rownums 0 這裡是去除 裡的空行...

使用POI讀取excel檔案,識別空行

場景 最近在做專案時,需要使用解析excel資料,我使用的是poi,這個時候遇到 poi 的大坑,讀取資料時,不會過濾空行!是的,不會過濾空行,比如乙份excel,原來有30條資料,從底下往上刪除了20條,但當使用poi 解析的時候,還是讀取到30行,阿西吧類,導致我後面的業務 報錯,網上的多個方法...

使用POI解析Excel

最近在寫專案,涉及到批量新增學生資訊,通過網上查了眾多資料,終於通過上傳乙個excel檔案的方式加以解決,現特此記錄下來,以備以後檢視。解析的核心 suppresswarnings static access public static listreadxls inputstream inputst...