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

来源:互联网 发布:免费网络卫星电视直播 编辑:程序博客网 时间:2024/06/14 11:10

在某种情况下,我们需要读取的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));        }


原创粉丝点击