java.lang.NoClassDefFoundError: org/openxmlformats/.../x2006/main/WorkbookDocument$Factory 的解决办法

问题概述

关于这个问题,是博主在通过EasyExcel进行Excel操作遇见的,

导入Excel,控制台报错:“ java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/WorkbookDocument$Factory

如下图:

解决办法

根据错误信息提示,缺少类导致的,Excel导入失败!

博主研究了下,缺少 poi-ooxml 依赖包导致的,

但是明明在 easyexcel 的POM中有这个包的依赖,

如下图:

经验判定,版本不兼容导致的缺少类定义,

第一步:

排出原有的 poi-ooxml

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.2.7</version>
            <exclusions>
                <exclusion>
                    <artifactId>poi</artifactId>
                    <groupId>org.apache.poi</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>poi-ooxml</artifactId>
                    <groupId>org.apache.poi</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>poi-ooxml-schemas</artifactId>
                    <groupId>org.apache.poi</groupId>
                </exclusion>
            </exclusions>
        </dependency>

如下图:

第二部:

引入新的 poi-ooxml

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>

如下图:

第三步:刷新Maven依赖包

第四步:

测试,导入Excel,数据解析成功了!!!

如下图:

到这里,关于这个问题就成功解决了。

* 注意:

但是,如果有的伙伴说,能不能直接升级 easyexcel,

答案是可以的,

这个要看项目情况,如果一些稍微偏老的项目,就会出现多米诺骨牌效应

所以,能小刀的,切忌大刀,可以先试试大刀,不行,再小刀!

参考文献:

好消息:Easy Excel 有重启维护了!!!

Easy Excel 官网

Easy Excel GitHub


好了,关于 java.lang.NoClassDefFoundError: org/openxmlformats/.../x2006/main/WorkbookDocument$Factory 的解决办法  就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:优快云 (Chinese Software Developer Network)
原        文:https://blog.youkuaiyun.com/Hello_World_QWP/article/details/144696631
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值