今天把poi升了下级,然后之前使用ExcelKit导出不行了,编译可以,运行报错,怀疑依赖的事,但是没有找到解决的办法,有人遇到过么
com.wuwenze.poi.exception.ExcelKitRuntimeException: downXlsx error
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/hssf/util/HSSFColor$GREEN
以下是我引用的依赖
<dependency>
<groupId>com.wuwenzegroupId>
<artifactId>ExcelKitartifactId>
<version>2.0.72version>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>easyexcelartifactId>
<version>3.1.0version>
<exclusions>
<exclusion>
<artifactId>poi-ooxml-schemasartifactId>
<groupId>org.apache.poigroupId>
exclusion>
<exclusion>
<groupId>org.apache.poigroupId>
<artifactId>poi-ooxmlartifactId>
exclusion>
exclusions>
dependency>
<dependency>
<groupId>org.apache.poigroupId>
<artifactId>poiartifactId>
<version>4.1.2version>
dependency>
<dependency>
<groupId>org.apache.poigroupId>
<artifactId>poi-ooxmlartifactId>
<version>4.1.2version>
dependency>
<dependency>
<groupId>org.apache.poigroupId>
<artifactId>poi-ooxml-schemasartifactId>
<version>4.1.2version>
dependency>
由于ExcelKit已经很久没有更新了,它的底层poi版本还停留在3.x时代,而你将poi升级到了4.1.2版本,其中底层类包名和类定义有所变化,导致原本的ExcelKit无法正常调用底层的poi方法。因此,程序报错提示NoClassDefFoundError: org/apache/poi/hssf/util/HSSFColor$GREEN,表明使用ExcelKit的方法中需要HSSFColor这个类,而poi4.x版本已经将HSSFColor改为了IndexedColors,两者不相兼容导致报错。建议你使用新版的EasyExcel、poi-ooxml和poi-ooxml-schemas,用较新的方式重新实现Excel导出功能。你可以查看EasyExcel提供的示例或文档,或者参考其他开源项目中Excel导出的实现方式。