我在我的网络应用程序中使用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的独立测试类解析同一文件没有任何问题。我正在使用POI ver 2.5。
我不知道从哪里开始调试:-(
有没有人遇到过类似的问题?请让我 知道。
答案 0 :(得分:3)
你知道POI 2.5的日期是2004年3月,不是吗?那已经超过7岁了!
我强烈建议您升级到更新的版本,例如POI 3.8 beta 5 - 已经有7年的错误修复,你错过了....!有了这个十年(最好是从今年开始)的POI版本,你的问题很可能会消失,你将能够毫无错误地阅读你的文件。