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を使用しています。私は:-(
のデバッグを開始するか分からない
は誰でも同様の問題が発生していますか?私が知っている 聞かせください。
はい、同じタイプの問題が発生しました。 null値を持つセルから数値データを読み込もうとしていたからです。 あなたのエラーから、コードが存在しないかヌル値を持つセルを読み込もうとしているようです。セルの値を解析する前にセルがヌルかどうかを確認します。 – Mohsin
http://www.onlinexamples.com/searchactionfull.action?keywords=excel&idlabels=-1 –