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

news/2024/7/21 6:59:17 标签: excel

前言

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

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

easypoi的Maven依赖:

<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-spring-boot-starter</artifactId>
    <version>4.1.1</version>
</dependency>

报错一:NoSuchMethodError

报错描述:

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依赖即可解决报错问题

<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>3.1.0</version>
</dependency>

报错二:NoSuchMethodError

报错描述:

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及之后的版本即可

<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

http://www.niftyadmin.cn/n/5128814.html

相关文章

角谷猜想(c++题解)

题目描述 所谓角谷猜想&#xff0c;是指对于任意一个正整数&#xff0c;如果是奇数&#xff0c;则乘3加1&#xff0c;如果是偶数&#xff0c;则除以2&#xff0c;得到的结果再按照上述规则重复处理&#xff0c;最终总能够得到1。如&#xff0c;假定初始整数为5&#xff0c;计算…

怎么把成绩发给家长

亲爱的小伙伴们&#xff0c;作为老师&#xff0c;我们经常需要将学生的成绩发送给家长。但是&#xff0c;手动发送成绩不仅效率低&#xff0c;还容易出错。这时候&#xff0c;我们就需要一个强大的工具——成绩查询系统。它不仅可以轻松实现学生成绩的录入、存储和查询&#xf…

服务器防护安全措施有哪些?

服务器是互联网个体以及企业都必须要接触的载体&#xff0c;服务器的安全关系到其业务的正常运营&#xff0c;一旦发生入侵&#xff0c;服务器上的资料和程序将可能受到严重的损坏&#xff0c;届时再来准备防护系统保护我们的服务器就为时已晚&#xff0c;所以我们服务器安全防…

Python数据结构——字节序列

字节序列是一种非常重要的数据结构&#xff0c;它在Python中具有广泛的应用&#xff0c;用于处理二进制数据、文件I/O、网络通信等。本文将详细介绍Python中字节序列数据结构的使用&#xff0c;包括字节串&#xff08;bytes&#xff09;、字节数组&#xff08;bytearray&#x…

深入理解强化学习——强化学习的历史:试错学习

分类目录&#xff1a;《深入理解强化学习》总目录 让我们现在回到另一条通向现代强化学习领域的主线上&#xff0c;它的核心则是试错学习思想。我们在这里只对要点做概述&#xff0c;《深入理解强化学习》系列后面的文章会更详细地讨论这个主题。根据美国心理学家R.S.woodworth…

将树的某个叶子节点向上提一个level

将树的某个叶子节点向上提一个level 我这里要求把同级里面的users提上一个层级 处理方法与后端返回的数据结构 遇到的问题 修改原数据的时候一直修改不了 function pushChild(items) {let itemsChild []if(!items) returnfor(let i0; i<items.length;i) {if(items[i].u…

C# Nuget项目A引用的另一个项目C怎么被安装Nuget的项目B使用

最近整理的一个Nuget项目A&#xff0c;我从原先Nuget项目A抽取了一个新项目C&#xff0c;然后项目A引用了项目C。 当项目A的Nuget被项目B引用后&#xff0c;发现项目B并不能直接访问项目C的成员。(只能在项目B引入项目C或者项目C也打包成Nuget包&#xff0c;项目B安装项目C的Nu…

kubectl资源管理命令-陈述式

目录 一、陈述式对象管理 1、基本概念 2、基础命令使用 3、基本信息查看&#xff08;kubectl get&#xff09; 4、增删等操作 5、登录pod中的容器 6、扩容缩容pod控制器的pod 7、删除副本控制器 二、创建项目实例 1、创建 kubectl create命令 2、发布 kubectl …