poi5.2.2+ 与easyexcel3.1.3jar包冲突
触发场景描述
- 当使用poi读取有数据及样式的excel时,就会报错
触发Bug的代码try (InputStream inputStream = classPathResource.getInputStream()){ Workbook wb = WorkbookFactory.create(inputStream); }java.lang.NoSuchFieldError: Factory at org.apache.poi.xssf.model.ThemesTable.readFrom(ThemesTable.java:119) at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:87) at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:61) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:661) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:165) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:260) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:118) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.create(XSSFWorkbookFactory.java:98) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.create(XSSFWorkbookFactory.java:36) at org.apache.poi.ss.usermodel.WorkbookFactory.lambda$create$2(WorkbookFactory.java:224) at org.apache.poi.ss.usermodel.WorkbookFactory.wp(WorkbookFactory.java:329) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:224) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:185) at com.daysuns.dams.utils.easypoi.util.ResourceLoader.getWorkbook(ResourceLoader.java:23) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102) at com.daysuns.dams.sys.aspect.TimeLimitTaskExecutorAspect$TimeoutCallable.call(TimeLimitTaskExecutorAspect.java:53) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)解决办法
- POI 5.0+版本冲突,需要排除easyexcel的poi依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>${easyexcel.version}</version> <exclusions> <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>
...全文
相关推荐
easyExcel2.2.6、poi3.17独立版jar包,解决使用easyExcel2.2.6时poi3.17与3.9或4.1.2jar包冲突
easyExcel支持最低的POI版本是3.17,现有项目若已用POI版本比这高的话,希望不改变现有的引用,解决jar包冲突的话,使用该独立版的jar包。该包已改过包名,亲测可兼容使用,网上有说把poi升级到4.1.2但是试了导出还是报错,我的原来是3.9版本升到4.1.2还涉及改动代码有风险,所以干脆按自己修改包引用打了个独立的jar包,也可留后续其他项目备用。其中commons-collections4若项目中已有则不用引用。
easyExcel所需jar包
easyExcel所需jar包
easyExcel解决poi冲突更改内使用路劲.rar
由于现在版本需要使用poi3.17以上版本,对项目本身有poi3.16的很不友好,jar包冲突,通过修改jar包路径达到目的,解决jar包冲突
java操作easyexcel环境 8个jar包
java操作easyexcel环境cglib-3.1.jar commons-collections4-4.1.jar easyexcel-1.1.2-beta5.jar junit-4.10.jar poi-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schemas-3.17.jar xmlbeans-2.6.0.jar
easyexcel相关jar包.zip
Java使用EasyExcel操作Excel表格的相关jar包,总结的一些包,想要的兄弟们来下载把!!


