2011-12-21 32 views
1

WebアプリケーションでHSSFを使用して、ユーザーがアップロードしたExcelファイルを読み取っています。
アプリケーションはstrutsベースであり、struts.upload.FormFileオブジェクトからの入力ストリームはPOIFSFileSystemコンストラクタに渡されます。 Excelファイルを読み取る際にエラーが発生しました

java.lang.reflect.InvocationTargetException: 
java.lang.ArrayIndexOutOfBoundsException: 11 
     at 
org.apache.poi.util.LittleEndian.getNumber(LittleEndian.java(Inlined 
Compiled Code)) 
     at 
org.apache.poi.util.LittleEndian.getShort(LittleEndian.java(Compiled 
Code)) 
     at 
org.apache.poi.hssf.record.MulRKRecord.fillFields(MulRKRecord.java:153) 
     at 
org.apache.poi.hssf.record.Record.fillFields(Record.java:90) 
     at 
org.apache.poi.hssf.record.Record.<init>(Record.java:55) 
     at 
org.apache.poi.hssf.record.MulRKRecord.<init>(MulRKRecord.java:65) 

しかしHSSFを使用して、スタンドアローンのテストクラスは何の問題もなく、同じファイルを解析します:特定のExcelファイルを解析しようとすると
私は次のエラーを取得しています。私はPOI ver 2.5を使用しています。私は:-(

のデバッグを開始するか分からない

は誰でも同様の問題が発生していますか?私が知っている 聞かせください。

+1

はい、同じタイプの問題が発生しました。 null値を持つセルから数値データを読み込もうとしていたからです。 あなたのエラーから、コードが存在しないかヌル値を持つセルを読み込もうとしているようです。セルの値を解析する前にセルがヌルかどうかを確認します。 – Mohsin

+0

http://www.onlinexamples.com/searchactionfull.action?keywords=excel&idlabels=-1 –

答えて

3

あなたは、2004年3月からそのPOI 2.5日付を知らないんあなたは?7歳以上です

私は、POI 3.8 beta 5のような新しいバージョンにアップグレードすることを強くお勧めします。欠けている7年のバグ修正がありました....この10年間のPOIバージョン(理想的には今年から)で、あなたの問題がなくなる可能性が非常に高いエラーなくファイルを読むことができます。

関連する問題