先谢了。代码情况:java读excel文件,使用poi,异常出在第二行代码。 FileInputStream fin=new FileInputStream(filename);
POIFSFileSystem fs = new POIFSFileSystem(fin);异常描述:Unable to read entire block; 136 bytes read; expected 512 bytes我想知道,产生这种异常的原因是什么?
另外有一个奇怪的现象,如果在运行此段代码前,先把出异常excel文件用excel打开一遍再关掉,代码就可以正常运行,这是为什么呢?请各位帮帮忙,谢谢。
POIFSFileSystem fs = new POIFSFileSystem(fin);异常描述:Unable to read entire block; 136 bytes read; expected 512 bytes我想知道,产生这种异常的原因是什么?
另外有一个奇怪的现象,如果在运行此段代码前,先把出异常excel文件用excel打开一遍再关掉,代码就可以正常运行,这是为什么呢?请各位帮帮忙,谢谢。
解决方案 »
- 求thinking in java 4练习题的答案
- sqlServer2005sql 跟新文件
- 关于TextArea的小问题
- 关于java.nio库和网络通信的问题
- 关于java的runtime.exec
- 关于ant编译工程的问题?加急!!!(在线等!)
- 我是个java初学者不知道看什么书比较好所以希望大家推荐几本好书!
- java环境出了问题??编译问题,找不到这个类
- String的最大长度是多少?
- << , | 这些符号在 java 里面都是什么意思?
- 如何将一个标准JavaBean中的数据写入一个XML文件中,要下载新的Java类包吗?
- 谁给解释下方法replaceFirst("参数","参数")
确认要点:
在用excel打开的时候有没有提示你保存或者已经修订了过内容?
截取部分excel档案的内容再进行操作(排除法确认在什么位置出现的错误)!
您所使用的excel档案是由什么生成的,软件的版本与你打开使用的是否相同?
以上各点,自己仔细对照。找出问题点!
没有任何提示,正常打开。原excel文件版本不清楚,我用excel 2k打开的。// 您所使用的excel档案是由什么生成的,软件的版本与你打开使用的是否相同?
也是由程序生成的。是组合式的报表,12份,只有4份会出现这个异常。生成的版本无法确认了,那是老系统遗留的。觉得不像版本的问题,因为报表格式一样的,却只有部分文件出异常。// 截取部分excel档案的内容再进行操作(排除法确认在什么位置出现的错误)!
试一试,谢谢。