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>

 

解决方法三:

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

GitHub 加速计划 / ea / easyexcel
24
5
下载
快速、简洁、解决大文件内存溢出的java处理Excel工具
最近提交(Master分支:2 个月前 )
c42183df Bugfix 1 年前
efa7dff6 * 重新加回 `commons-io` 1 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐