问题背景:
项目一直使用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>