java 读取execel文件时出现 Unable to read entire header; ……
我在做java操作excel项目时(用的是POI),遇到一个问题:
Unable to read entire header; 0 bytes read; expected 512 bytes.
上网查了很多资料,都是关于将inputstrem流用字节数字存起来,我试了很多遍都不行。
由于出问题的excel文件是由程序创建的,我在打开该excel文件,保存退出时,提示有什么不兼容的问题,思来想去,我觉得是创建excel文件时处理问题,我使用File的createNewFile()创建的。上网搜索了创建excel的方法:
if (!f.exists()) {
try {
HSSFWorkbook ws = new HSSFWorkbook();//建立新HSSFWorkbook对象
HSSFSheet sheets=ws.createSheet();//新建sheet
FileOutputStream fileOut = new FileOutputStream(path);//创建文件流
ws.write(fileOut);//把Workbook对象输出到路径path中
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
试过之后,果然见效!
看来创建Excel、word文档之类,不像创建txt文件一般,用一行命令就搞定,得吸取教训啊。