excel导入
excel版本有03版本和07版本的区别,文件后缀名分别为.xls和.xlsx。它们对应的POI中的Workbook也是不同的,分别是HSSFWorkbook和XSSFWorkbook;
对于不同版本的EXCEL文档要使用不同的工具类,如果使用错了,会提示如下错误信息。
org.apache.poi.openxml4j.exceptions.InvalidOperationException org.apache.poi.poifs.filesystem.OfficeXmlFileException
可以采用对文件后缀名判断的方法,判断具体生成哪一个对象,也可以采用如下代码:
public static Workbook create(InputStream in) throws IOException,InvalidFormatException { if (!in.markSupported()) { in = new PushbackInputStream(in, 8); } if (POIFSFileSystem.hasPOIFSHeader(in)) { return new HSSFWorkbook(in); } if (POIXMLDocument.hasOOXMLHeader(in)) { return new XSSFWorkbook(OPCPackage.open(in)); } throw new IllegalArgumentException("你的excel版本目前poi解析不了"); }
时间: 2024-10-11 18:14:01