qiujiababy

poi解析excel出现格式不正确

后缀为xlsx的excel做系统导入时出现bug:

Strict OOXML isn\'t currently supported, please see bug #57699

为了同时兼容03、07及更高版本的excel,修改了excel的版本,同时导入的时候发现出现错误,查阅资料发现后缀是xlsx还会分两个格式ole2和ooxml两种。

百度后的解决办法有

public static Workbook create(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解析不了");
}

但是本人试过,并没有解决,(poi 3.17)。

后把excel的格式修改了就好了。。。

第一种是好用的,第二种是之前怎么试都没好使的。具体原因。。。没查到。。。希望以后更新。。。

 

分类:

技术点:

相关文章:

  • 2021-06-30
  • 2022-12-23
  • 2021-07-26
  • 2021-10-16
  • 2021-10-18
  • 2022-01-07
  • 2022-12-23
  • 2021-11-23
猜你喜欢
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2021-06-14
  • 2021-11-21
相关资源
相似解决方案