另外提供其他網友的解決方案:
//建立相關的檔案流物件
in = new fileinputstream(excelfile);
//宣告相關的工作薄物件
workbook wb =null;
//宣告相關的excel抽取物件
excelextractor extractor=null;
string filename = excelfile.getname();
string hz = filename.substring(filename.lastindexof("."),filename.length());
if(hz.equals(".xls"))//針對2003版本
else
建議:
我覺得如果用異常來判斷excel版本的話 用org.apache.poi.poifs.filesystem.officexmlfileexception這個異常比較好
我在new hssfworkbook時new2007的會報這個錯 直接用exception有點太籠統了吧 因為我還知道乙個org.apache.poi.hssf.oldexcelformatexception的錯 這是弄ecxel5.0/95出的錯 這個用xssf也處理不了
我自己處理的**部分:
/**
* @description 匯入**
int rowcount = hssfsheet.getphysicalnumberofrows(); // 獲取總行數
string msg = "";
if(hssfsheet!=null) }}
poi 解析excel 03與07不相容問題
剛開始使用new hssfworkbook new fileinputstream excelfile 來讀取workbook,對excel2003以前 包括2003 的版本沒有問題,但讀取excel2007時發生如下異常 該錯誤意思是說,檔案中的資料是用office2007 xml儲存的,而現在卻...
POI操作EXCEL03前後版本不相容問題解決
開發程式遇到讀取excel時,03前後的版本不相容,如下 workbook sheet row cell等為介面 hssfworkbook hssfsheet hssfrow hssfcell為97 2003版本對應的處理實現類 xssfworkbook xssfsheet xssfrow xssf...
POI 解決寫入excel記憶體溢位
下面是結構圖 在專案中遇到二十萬行資料要寫入到excel中時會記憶體溢位,一般方法是調大tomcat的記憶體,但是調到2048m還是會記憶體溢位報錯 poi官網給了一種大批量資料寫入的方法 使用sxxfworkbook 類進行大批量寫入操作解決了這個問題 import junit.framework...