[POI] org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: '*.xls'解决办法

losetowin 发布于:2014-1-2 10:14 分类:Java  有 22313 人浏览,获得评论 49 条 标签: poi excel 

本文地址:http://www.dutycode.com/post-9.html
除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。

异常描述:

org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: '*.xls'

 

原因:

POI在打开2007版本的Excel和2003版本的Excel使用的类是不一样的,需要对文件类型进行判断,然后再进行相应的读取:

String filePath = "D:\\选修课2013-2014-2.xls";
		Workbook xls = null;
		FileInputStream fileInputStream = new FileInputStream(new File(filePath));
		
		if (filePath.endsWith("xlsx")){
			//2007
			xls = new XSSFWorkbook(fileInputStream);
		}else if (filePath.endsWith("xls")){
			//2003
			xls = new HSSFWorkbook(fileInputStream);
		}
		
		//读取第一张表格内容
		Sheet sheet = xls.getSheetAt(0);
//后续读取操作。。。。。
		

如上,区分之后,07版的使用XSSFWorkbook,而03版的需要使用HSSFWorkbook


版权所有:《攀爬蜗牛》 => 《[POI] org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: '*.xls'解决办法
本文地址:https://www.dutycode.com/post-9.html
除非注明,文章均为 《攀爬蜗牛》 原创,欢迎转载!转载请注明本文地址,谢谢。