springboot 2.2.6
spring 5.2.5
easyexcel 3.1.0
apache poi 4.1.2
如果从来没有接入过poi依赖,前三项已经够用了
场景: 公司自己封装的springboot框架本身接入过poi,在此基础之上接入easyexcel时,发现很多问题且又是内网环境,现记录一下需要注意的地方
pom.xml:
<dependency>
<groupId>com.XXXX</groupId>
<artifactId>start-core</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
1. 去除公司之前引入的poi版本,比如poi3.9, 要清除干净
2. 去除3.1.0本身自帶的poi版本,引用新加进来的poi三项,标记版本 4.1.2
3.上述填写完依旧会报错,因为外网的环境会帮你自动下载其他依赖jar包,且启动完成后写代码导出完全没问题,但是内网需要手动引入一下,不然会报各种各样的错,缺一不可,至于我为什么知道需要引入一下内容,我通过观察报错信息踩出来的
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel-core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel-support</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.18</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>