现在的位置: 首页 > 综合 > 正文

poi读excel文件的时候报错POI读取Web主机Excel文件

2011年02月19日 ⁄ 综合 ⁄ 共 4211字 ⁄ 字号 评论关闭
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:274)
 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.<init>(HSSFWorkbook.java:163)
 at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:210)
 at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:191)
 at com.kingdee.outsourcing.sangon.TestExcelAna.AnalyExcel(TestExcelAna.java:45)
 at org.apache.jsp.AnaTestOrderExcel_jsp._jspService(AnaTestOrderExcel_jsp.java:130)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
 at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.ArrayIndexOutOfBoundsException
 at java.lang.System.arraycopy(Native Method)
 at org.apache.poi.hssf.record.UnknownRecord.<init>(UnknownRecord.java:62)
 at org.apache.poi.hssf.record.SubRecord.createSubRecord(SubRecord.java:57)
 at org.apache.poi.hssf.record.ObjRecord.fillFields(ObjRecord.java:99)
 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.ObjRecord.<init>(ObjRecord.java:61)

越界??

java.lang.ArrayIndexOutOfBoundsException
你这个是最基本的Array使用超出了范围的exception.
你先用sheet.getLastRowNum()
看看你的row的number有没有超出范围.
再用row.getLastCellNum() 看看有没有超出范围.
你亦可在你的program里加入break point去检查那里出问题.java.lang.ArrayIndexOutOfBoundsException
你这个是最基本的Array使用超出了范围的exception.
你先用sheet.getLastRowNum()
看看你的row的number有没有超出范围.
再用row.getLastCellNum() 看看有没有超出范围.
你亦可在你的program里加入break point去检查那里出问题.

抱歉!评论已关闭.