Java POI异常 [英] Java POI exception

查看:126
本文介绍了Java POI异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这些是我要做的步骤:

保存Excel文件。
运行读取excel文件的程序。

Save excel file. Run program that reads the excel file.

当我执行这些步骤时,我立即收到此错误:

When i do those steps i get this error immediately:


java.lang.reflect.InvocationTargetException
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)at
sun.reflect。 NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at
java.lang.reflect.Constructor。 newInstance(Constructor.java:513)
at
org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:224)
at
org.apache。 poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:160)
at
org.apache.poi.hssf.usermodel.HSSFWorkbook。(HSSFWorkbook.java:163)
at
org.apache.poi.hssf.usermodel.HSSFWorkbook。(HSSFWorkbook.java:130)
at

java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:224) at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:160) at org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:163) at org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:130) at

引起b y:
java.lang.ArrayIndexOutOfBoundsException:
11 at
org.apache.poi.util.LittleEndian.getNumber(LittleEndian.java:491)
at
org .apache.poi.util.LittleEndian.getInt(LittleEndian.java:139)
at
org.apache.poi.hssf.record.BOFRecord.fillFields(BOFRecord.java:133)
at
org.apache.poi.hssf.record.Record.fillFields(Record.java:90)
at
org.apache.poi.hssf.record.Record。(Record.java :55)
at
org.apache.poi.hssf.record.BOFRecord。(BOFRecord.java:98)
... 12 more
org.apache.poi。 hssf.record.RecordFormatException:
无法构造记录实例,
发生以下异常:null
at
org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory) .java:237)
at
org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:160)
at
org.apache.poi.hssf .usermodel.HSSFWorkbook。(HSSFWorkbook.java:163)
at
org.apach e.poi.hssf.usermodel.HSSFWorkbook。(HSSFWorkbook.java:130)
at

Caused by: java.lang.ArrayIndexOutOfBoundsException: 11 at org.apache.poi.util.LittleEndian.getNumber(LittleEndian.java:491) at org.apache.poi.util.LittleEndian.getInt(LittleEndian.java:139) at org.apache.poi.hssf.record.BOFRecord.fillFields(BOFRecord.java:133) at org.apache.poi.hssf.record.Record.fillFields(Record.java:90) at org.apache.poi.hssf.record.Record.(Record.java:55) at org.apache.poi.hssf.record.BOFRecord.(BOFRecord.java:98) ... 12 more org.apache.poi.hssf.record.RecordFormatException: Unable to construct record instance, the following exception occured: null at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:237) at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:160) at org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:163) at org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:130) at

当我执行这些步骤时我没有收到错误:

When i do these steps i dont get the error:

保存excel文件。

打开excel文件。

单击一个单元格。

点击保存。

运行程序。

不会引发任何错误。

有谁知道为什么会这样?这非常令人沮丧!!!!!

Does anyone know why this would be? It is very frustrating!!!!!

推荐答案

poi 2.5.1中的1个场景是,

1 of the scenario in poi 2.5.1 is,

如果在保存Excel文档之前选择数据验证单元格,则会获得类似的堆栈跟踪。
解决方法是选择简单文本单元格,然后继续保存文档。

If you select a data validation cell right before saving the excel document, you get the similar stack trace. The workaround would be to select simple text cell then proceed to save the document.

提交错误报告, https://issues.apache.org/bugzilla/show_bug.cgi?id=50761

这篇关于Java POI异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆