使用easypoi-spring-boot-starter 4.1.1导入excel报错NoSuchMethodError和NoSuchMethodError

前言

使用easypoi进行excel的导入遇到的错误以及解决办法

easypoi项目地址:https://gitee.com/lemur/easypoi

easypoi的Maven依赖:

sh 复制代码
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-spring-boot-starter</artifactId>
    <version>4.1.1</version>
</dependency>

报错一:NoSuchMethodError

报错描述:

sh 复制代码
NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

解决办法:

XmlOptions.setEntityExpansionLimit() 错误,是 jar 包版本引起的,3.0 版本以下的 xmlbeans 中根本没有该方法,需要将jar升级到 3.0+ 版本才可以。另外加入 xmlbeans 的jar以后,不要再加入 xbean.jar

XMLBeans是什么?XMLBeans 是一种 Java 技术,它用于处理 XML 数据。XMLBeans 提供了一种将 XML 数据映射到 Java 对象的方式,从而可以轻松地在 Java 应用程序中处理和操作 XML 数据。

引入以下Maven依赖即可解决报错问题

sh 复制代码
<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>3.1.0</version>
</dependency>

报错二:NoSuchMethodError

报错描述:

sh 复制代码
org.apache.commons.lang3.StringUtils.isNoneEmpty([Ljava/lang/CharSequence;)Z
        at org.activiti.editor.language.json.converter.BpmnJsonConverter.convertToJson(BpmnJsonConverter.java:242)
        at org.activiti.editor.ui.ConvertProcessDefinitionPopupWindow$2.buttonClick(ConvertProcessDefinitionPopupWindow.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

解决办法:

commons-lang3版本太低了,没有isNoneEmpty方法,升级至3.9及之后的版本即可

sh 复制代码
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

参考

  1. https://blog.csdn.net/hanjiaqun/article/details/102705107
  2. https://alidocs.dingtalk.com/i/nodes/oP0MALyR8k7ANjxjhjjPYaL783bzYmDO
相关推荐
是小崔啊3 小时前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
龙虎榜小红牛系统16 小时前
使用Excel制作通达信自定义“序列数据“
excel·股票·通达信
Py办公羊大侠17 小时前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全
SixCandy17 小时前
EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作
办公软件·excel··wps
你走以后17 小时前
excel中如何筛选一列中重复的内容,相同的内容只保留一次
excel
热心市民运维小孙1 天前
Ubuntu重命名默认账户
linux·ubuntu·excel
又蓝2 天前
使用 Python 操作 Excel 表格
开发语言·python·excel
m0_748230942 天前
Rust赋能前端: 纯血前端将 Table 导出 Excel
前端·rust·excel
Swift社区2 天前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
neeef_se2 天前
Vue中使用a标签下载静态资源文件(比如excel、pdf等),纯前端操作
前端·vue.js·excel