easyexcel 和项目现版本的poi版本冲突解决办法

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:

		<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>

解决方法三:jar包冲突解决方案——jar包名修改兼容实现

请参考一下博文:https://blog.csdn.net/laodagewo/article/details/103495172?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~top_click~default-1-103495172.nonecase&utm_term=easyexcel%E5%92%8Cpoi%E4%BE%9D%E8%B5%96%E5%86%B2%E7%AA%81&spm=1000.2123.3001.4430

猜你喜欢

转载自blog.csdn.net/LOVE_Me__/article/details/109240080