POI兼容XLSX和XLS

来源:互联网 发布:php接口验证 编辑:程序博客网 时间:2024/05/22 12:08

  POI处理03和07版本的excel分别使用HSSFWorkbook和XSSFWorkbook。

  如果想一段代码同时兼容两种类型,可以使用try catch的方式来实现(刚接触时想到的方法,其实POI自带这个功能,见末尾)。

  例如: 

InputStream in = null;    Workbook wb = null;    try    {        in = new FileInputStream("C:\\new.xlsx");        wb = new HSSFWorkbook(in);    }    catch (Exception e)    {        //这里需要重新给in赋值,否则下一行会报错,应该是wb = new HSSFWorkbook(in)这句之后in会被清空。        in = new FileInputStream("C:\\new.xlsx");        wb = new XSSFWorkbook(in);    }

以上功能其实POI自带了,直接

import org.apache.poi.ss.usermodel.WorkbookFactory;wb = WorkbookFactory.create(in);

WorkbookFactory.create(in)自动判断in的数据类型,选择相应的构造方法。



0 0