使用easyExcel,生成excel文件,报错信息如下:
Caused by: java.lang.NoSuchMethodError: org.apache.poi.util.TempFile.setTempFileCreationStrategy(Lorg/apache/poi/util/TempFileCreationStrategy;)V
jar包冲突导致
easyexcel,2.2.6版本
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> </dependency>
对应的是poi版本是:3.17
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency>
如果还不行,再加上这个:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.17</version> </dependency>
如果,上述三个都加上,且版本保持一致,还报同样地错误,那说明是你的开发工具出了问题。
以我为例,我使用的是非maven老项目,这就需要自己手动往项目的lib目录下添加jar包,并手动将其构建到项目当中。
如果有低版本或者高版本,首先需要将其从项目构建当中排除,还要将其手动删除。(我使用的是eclipse,必须将多余的jar包删掉,否则,还是会报上面的错误)。
一般情况下,到了这里就结束了。
如果报其它错,可以参考下面。
不行,接着加:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency>
不行,接着加:
<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.1</version> </dependency>
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!