读取excel文件时出错

时间:2011-12-21 08:26:02

标签: java apache-poi

我在我的网络应用程序中使用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。

我不知道从哪里开始调试:-(

有没有人遇到过类似的问题?请让我 知道。

1 个答案:

答案 0 :(得分:3)

你知道POI 2.5的日期是2004年3月,不是吗?那已经超过7岁了!

我强烈建议您升级到更新的版本,例如POI 3.8 beta 5 - 已经有7年的错误修复,你错过了....!有了这个十年(最好是从今年开始)的POI版本,你的问题很可能会消失,你将能够毫无错误地阅读你的文件。