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...