先谢了。代码情况: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打开一遍再关掉,代码就可以正常运行,这是为什么呢?请各位帮帮忙,谢谢。
确认要点:
在用excel打开的时候有没有提示你保存或者已经修订了过内容?
截取部分excel档案的内容再进行操作(排除法确认在什么位置出现的错误)!
您所使用的excel档案是由什么生成的,软件的版本与你打开使用的是否相同?
以上各点,自己仔细对照。找出问题点!
没有任何提示,正常打开。原excel文件版本不清楚,我用excel 2k打开的。// 您所使用的excel档案是由什么生成的,软件的版本与你打开使用的是否相同?
也是由程序生成的。是组合式的报表,12份,只有4份会出现这个异常。生成的版本无法确认了,那是老系统遗留的。觉得不像版本的问题,因为报表格式一样的,却只有部分文件出异常。// 截取部分excel档案的内容再进行操作(排除法确认在什么位置出现的错误)!
试一试,谢谢。