poi的jar版本过低问题
使用easyexcel可以保证大数据量导出不会OOM。原有的功能依赖的POI jar包是3.9,而easyExcel支持最低的POI版本是3.17。而poi3.17与3.8/3.9版本之间方法变动比较大,会导致easyexcel不能正常使用。对此,这里给出一种解决jar包冲突解决方法。
解决方法一:(确保支持的jdk是8版本以及以上版本)
项目之前用的poi的版本是3.9,后来使用easyexcel的时候,出现某些类找不到,这是因为poi.jar包版本冲突导致的,maven会自动使用最高级的版本,而easyexcel是3.1.7,将项目依赖的poi升级到4.1.2就好了。(4.0以上版本都可以)
<poi.version>4.1.2</poi.version>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
</dependency>
解决方法二:(使用的jdk可能是7版本及以下版本,无法进行版本的升级)
排除掉3.9版本的poi,引用3.17版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.2</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</exclusion>
</exclusions>
</dependency>