easyExcel报错:

com.alibaba.excel.exception.ExcelGenerateException: Can not close IO

Caused by: java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was expected

原因:jar包冲突。

easyExcel版本为3.1.0,

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

其中自带的poi版本为4.1.2,
在这里插入图片描述
点进去,
在这里插入图片描述
再点进去,
在这里插入图片描述
可以看到poi的相关的jar包版本是4.1.2,

我们项目中一定有其它版本的poi,
后来在parent的依赖中找到了,
在这里插入图片描述
因为两个版本的poi,导致在调用easyExcel时发生了冲突。

解决办法
在自己的项目中,声明poi的版本。

	<properties>
		<poi.version>4.1.2</poi.version>
	</properties>
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐