1. 程式人生 > >jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解決方法

jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解決方法

今天建立了一個專案,計劃從一堆excel批量匯入資料的程式。但是發生了異常,jxl.read.biff.BiffException: Unable to recognize OLE stream。

原因有二: 
1. jxl包只支援excel03版,檔案可能是07版本,可利用巨集指令,對所有檔案批量修改格式,可參考1: 
http://zhidao.baidu.com/link?url=d_lq286waS5fGQt0_NZBPhzaWn5V42ihn_mx0ulEifc6d1o1tMLrSjX3JG5y41uqe6hWmfRA5Bh_l75m5VCKFa. 
2. 檔案不是標準的excel格式,可通過檔案–>另存為方式檢視該檔案的儲存型別,如果是“單個檔案網頁”型別,說明這是一個.html檔案,不能使用jxl包操作,也不能使用POI操作。
 

看了一下自己的程式碼我的屬於第二種情況。解決方法: 
1.如果是少量檔案,可以把檔案另存為excel標準格式,再使用jxl包操作。 
2.如果是大量檔案,無法通過方法1來解決,這時可對html檔案解析。

針對第二個問題,目前採用的方式是另存為標準的格式。

今後有其他解決方式再進行補充。