微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

记录一次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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐