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解析不了"); }
