其他分享
首页 > 其他分享> > 记录一次hutool和easyExcel冲突问题(poi依赖冲突)

记录一次hutool和easyExcel冲突问题(poi依赖冲突)

作者:互联网

 问题背景:

         项目一直使用easyExcel,之前接到一个bug,easyExcel读EXCEL文件时并没有处理空行(单元格),所以就使用了hutool中的Excel相关的工具类单独处理列中的单元格。根据hutool官网文档描述,发现hutool操作Excel需要poi5以上版本。

        同时引用hutool和easyExcel会导致其中一者功能不可用,因为poi版本不兼容,easyExcel依赖了poi-3.17版本。

Hutool文档说明:说明 hutool-4.x的poi-ooxml 版本需高于 3.17(别问我3.8版本为啥不行,因为3.17 > 3.8 ) hutool-5.x的poi-ooxml 版本需高于 4.1.2 hutool-5.6.x支持poi-ooxml 版本高于 5.0.0 xercesImpl版本高于2.12.0(非必须)

项目依赖:

<dependencies>
	<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>easyexcel</artifactId>
		<version>2.2.11</version>
	</dependency>

	<dependency>
		<groupId>cn.hutool</groupId>
		<artifactId>hutool-all</artifactId>
		<version>5.7.5</version>
	</dependency>
</dependencies>

解决方案:

        剔除easyExcel中的相关poi依赖,重新引入兼容hutool版本的poi-xoom即可。

<dependencies>
	<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>easyexcel</artifactId>
		<version>2.2.11</version>
		<exclusions>
			<exclusion>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml-schemas</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>cn.hutool</groupId>
		<artifactId>hutool-all</artifactId>
		<version>5.7.5</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
	<dependency>
		<groupId>org.apache.poi</groupId>
		<artifactId>poi-ooxml</artifactId>
		<version>5.0.0</version>
	</dependency>
</dependencies>

标签:easyExcel,ooxml,hutool,冲突,版本,poi,apache
来源: https://blog.csdn.net/weixin_47798524/article/details/123126508