您的位置:首页 > 其它

POI操作Excel文件,通过文件流判断Excel的版本

2017-06-02 17:27 686 查看
在某种情况下,我们需要读取的Excel文件没有后缀名,或后缀名是类似.tmp这样的,这样,我们通过后缀名xls和xlsx来判断Excel的版本就不行了。

这种情况下,我们可以直接使用poi提供的方法来创建。

Workbook wb = WorkbookFactory.create(new FileInputStream("d://temp.tmp"));


WorkbookFactory.create方法中会通过Excel的文件头去判断Excel的版本,生成对应的Workbook(HSSFWorkbook或XSSfWorkbook)。

如果你想自己判断,可以将create中的方法拿出来使用:

if (POIFSFileSystem.hasPOIFSHeader(inp)) {
return new HSSFWorkbook(inp);
}
if (POIXMLDocument.hasOOXMLHeader(inp)) {
return new XSSFWorkbook(OPCPackage.open(inp));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poi