发布网友 发布时间:2022-04-29 23:25
共1个回答
热心网友 时间:2023-10-10 09:05
后缀虽然是xlsx但是会存在格式问题: private Workbook getWorkbook(InputStream in) throws IOException,InvalidFormatException { if (!in.markSupported()) { //hasPOIFSHeader和hasOOXMLHeader的要求,inputStream must support mark and reset, or be a PushbackInputStream in = new PushbackInputStream(in, 8); } if (POIFSFileSystem.hasPOIFSHeader(in)) { //后缀是xlsx但是是ole2格式的或更低版本 return new HSSFWorkbook(in); } if (POIXMLDocument.hasOOXMLHeader(in)) { //后缀是xlsx但是是OOXML格式的或更高版本 return new XSSFWorkbook(OPCPackage.open(in)); } throw new IllegalArgumentException("你的excel版本目前poi解析不了"); }