poi-hssf对excel文件操作时对文件的大小有没有限制?

rmq 2003-06-18 10:03:32
现在我用他对一个4。58M的文件进行操作,出现ArrayIndexOfBoundsException异常,
是不是poi对文件大小有限制呀?
...全文
202 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmq 2003-06-18
  • 打赏
  • 举报
回复
我用poi新建xls,到7000行的时候就报错,java.lang.OutOfMemoryError.

我重新做了一个xls文件,有4m多,怎么给你?
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
如确认是它的BUG,你可以把该文件提交到它的BUG库中等待解决。
如不确定,可将可重现该异常且不涉及到你个人隐私或版权的Excel数据采样文件发给我,我试着给你解决。
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
我想,不是你的文件包含了它当前版本不支持的对象,就是它的BUG。
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12843
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
也就是说出错是在HSSFWorkbook rwb = new HSSFWorkbook(fs);?
稍等,我看看POI的相关文档。
rmq 2003-06-18
  • 打赏
  • 举报
回复
怎么1打印用2阿?
我到HSSFWorkbook rwb = new HSSFWorkbook(fs);就进行不下去了?
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
不,我的意思是打印出short或int型的控制变量。
rmq 2003-06-18
  • 打赏
  • 举报
回复
POIFSFileSystem fs =
new POIFSFileSystem(new FileInputStream(sourcefile));
System.out.println("poifilesystem:"+fs);
HSSFWorkbook rwb = new HSSFWorkbook(fs);
System.out.println("workbook:"+rwb);

poifilesystem能1打印出来,没有问题
workbook没有1打印出来
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
请在at jsp_servlet.__qycxdopoi._jspService(__qycxdopoi.java:149)打印出有可能影响的变量的值。
rmq 2003-06-18
  • 打赏
  • 举报
回复
14列
rmq 2003-06-18
  • 打赏
  • 举报
回复
文件总共有11312行

-----------------------------------------
<2003-6-18 上午10时00分16秒> <Error> <HTTP> <[WebAppServletContext(441530,Defaul
tWebApp,/DefaultWebApp)] Servlet failed with Exception
java.lang.ArrayIndexOutOfBoundsException
at org.apache.poi.util.LittleEndian.putNumber(LittleEndian.java:550)
at org.apache.poi.util.LittleEndian.putShort(LittleEndian.java:242)
at org.apache.poi.hssf.record.SSTDeserializer.readStringRemainder(SSTDes
erializer.java:339)
at org.apache.poi.hssf.record.SSTDeserializer.processContinueRecord(SSTD
eserializer.java:320)
at org.apache.poi.hssf.record.SSTRecord.processContinueRecord(SSTRecord.
java:540)
at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.
java:210)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:1
40)
at jsp_servlet.__qycxdopoi._jspService(__qycxdopoi.java:149)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2546)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2260)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
据我所知没有,不过它的column是short型的,你的文件该不会有那么多列吧:)
请详细写出你的异常堆栈信息。
wangwenyou 2003-06-18
  • 打赏
  • 举报
回复
dcms@sina.com :)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧