异常:java.io.IOException: Invalid header signature; read 4503608217567241, expected
在网上找到的解决方案:java.io.IOException: Invalid header signature; read 4503608217567241, expected -2226271756974174256
用POI读取Excel文件时报错。通常的原因是读取的文件头信息不对,可能是类似于将txt文件的后缀名直接改成xls,或者由其他软件导出成的Excel(那导出的软件本身写的不好),需要用Excel打开(如果能打的开的话)然后另存为一下,就可以读取了
*打开文件另存为97-2003版本的exlce文件
我不明白: 上传文件后,怎么另存为 97-2003版本 什么意思?
------解决方案--------------------
------解决方案--------------------
2003版的Excel:
InputStream is = new FileInputStream(path);
POIFSFileSystem os = new POIFSFileSystem (inStream);
HSSFWorkbook wb = new HSSFWorkbook(os); // 读取excel工作簿
2007版:
InputStream is = new FileInputStream(path);
XSSFWorkbook wb = new XSSFWorkbook(inStream); // 读取excel工作簿
可通过 Excel扩展名来判断是03版的还是07版的
03的是xls,07的是xlsx