關於poi讀取中的一些坑

2021-07-16 23:58:25 字數 860 閱讀 8282

最近使用poi解析excel遇到了很多問題,由於是第一次使用,遇到了很多坑。

上傳的時候:

poi對於excel時候,對於office2003和office2007的解析不太一樣,使用不同的方式解析,因此需要在頁面做版本校驗或者後台設定不同版本的處理方式,poi中hssfworkbook,xssfworkbook都實現了workbook介面,hssfworkbook

針對的2003的版本,xssfworkbook

針對的是2007的版本,在解析excel的時候要注意,不然會拋異常。

解析excel的時候:

關於格式的問題:

我們經常會讀一些數,比如手機號,如果按照數字讀取需要注意指定格式(decimalformat df = new decimalformat("#.#########"))來處理讀取資料含有小數字的問題

另外在讀取單元格的時候最好判斷單元格型別,這裡列出部分格式判斷:

public static string getcellvalue(xssfcell cell)

return cellvalue;  

}關於excel原來有資料,但是刪除資料後格式仍舊保留導致的讀取時候仍然讀到該行導致報空指標異常問題:

因為我讀取的excel只有一列,所以我直接先判斷row是否為空,為空則認為該行沒有資料,不讀取單元格內容

關於匯出問題:

excel一般匯出這裡不做介紹,一般按照正常格式就可以,這裡想說一下如果匯出的資料了比較大的時候,建議使用poi3.8以上版本中的sxssfworkbook

之前匯出10w資料後台報記憶體溢位,改用sxssfworkbook後沒有出現該情況。具體不做分析,剛入行不久,還在研究階段。會繼續研究和更新。這裡只是將自己遇到的問題總結一下。

關於poi的坑

今天遇上乙個坑,關於poi公式計算結果出錯的問題,自己打斷點debug了半天,雖然沒徹底搞清楚為啥不行,但所幸找到了解決辦法。下面不廢話,直接貼乾貨,原先的公式處理 如下 1 final formulaevaluator evaluator wb.getcreationhelper createfo...

關於npm的一些坑

檢視全域性安裝的目錄用命令檢視 npm root g檢視npm配置資訊 npm config get cache npm config get prefix獲取npm配置資訊 npm config list 獲取npm配置資訊 預設情況下nodejs安裝會同時安裝npm 模組管理器 用於管理使用者r...

關於SqlSugar Mysql的一些坑

解決方案 作者在github上放了可以用的mysql.data.dll 版本,為 6.2.1.0 2 永遠的報錯 給定的關鍵字不在字典中 沒有找到解決方法 最終 我的是乙個asp.net mvc的新專案,經過安利用了sqlsugar,專案版本最初是.net 4.5 經過查閱大家的專案發現大部分使用的...