java.io.IOException: Invalid header signature; read 7011577315731788834, expecte
d -2226271756974174256
at org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockRead
er.java:100)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSyste
m.java:84)
at yuebao.CallRecord.main(CallRecord.java:18)
d -2226271756974174256
at org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockRead
er.java:100)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSyste
m.java:84)
at yuebao.CallRecord.main(CallRecord.java:18)
import java.text.*;import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class CallRecord
{
public static void main(String[] args)
{
int b=0;
POIFSFileSystem pfs=null;
HSSFWorkbook hwb=null;
try
{
pfs=new POIFSFileSystem(new FileInputStream("CallRecord(Running).xls"));
hwb=new HSSFWorkbook(pfs);
HSSFSheet sheet=hwb.getSheetAt(0);
int rowNum;
int i;
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
其他的期待高人来yy
应该是CallRecord(Running).xls有问题吧
lz试下直接打开可以么
HeaderBlockReader headerblockreader = new HeaderBlockReader(inputstream);
HeaderBlockReader里面把流按byte[512]来读,
读完longfield.get()转换了下 然后出来异常信息了
以上属于废话 没有找到原因建议lz随便新建一个excel文件 读一下看看报错不
我还是怀疑是文件问题
但还是不明白到底是什么原因,因为我把原来内容用ctrl+A全选后复制到另一个excel空文档里,保存后新建的文档的大小是200多K,而原来那个文件却只有90多K,都是相同的内容,行数也一样,我也没做什么改动,麻烦大家给分析分析
这个excel文件是由另一个文件产生的,不过那个不是我做的,我只是提取了文件
是excel文件本身损坏了。
既然新建的文件能用就好,没必要在一个损坏的文件上纠缠了。