当前位置: 首页 > 知识库问答 >
问题:

HSSFCell MissingCell策略问题

慕河
2023-03-14

我正在尝试使用Java读取excel(.xls和.xlsx)。我能正确地阅读xlsx。但当我使用以下代码读取xls文件时

final HSSFCell cell = row.getCell(i, Row.RETURN_BLANK_AS_NULL);

我犯错了

java.lang.nosuchmethoderror:org.apache.poi.hssf.usermodel.hssfrow.getcell(ilorg/apache/poi/ss/usermodel/row$missingcellpolicy;)log/apache/poi/hssf/usermodel/

请帮帮忙。我使用的是poi-3.9-20121203.jar

共有1个答案

邴修远
2023-03-14

Apache POI常见问题解答中介绍了这一点。如果您仔细查看,就会发现在类路径的某个地方潜伏着一个较早的Apache POI副本,因此实际上您运行的是两个版本的混合版本。这是不支持的-所有的POI JAR需要来自同一个版本!

该主题的FAQ条目中有一些示例代码,您可以使用这些代码来查找实际使用的是哪一个Jar,因此您有希望跟踪到较旧的Jar。您可能希望执行以下操作:

ClassLoader classloader =
   org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
URL res = classloader.getResource(
             "org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
String path = res.getPath();
System.out.println("Core POI came from " + path);

这将打印出其中一个核心POI类的来源,当它报告您期望的jar时,您应该没事!

 类似资料:
  • 我试图生成一个简单的axios请求,如下所示(我正在使用vue.js): 但我得到以下错误: 我已经尝试过添加下面的头,但仍然不起作用 但是如果我尝试通过浏览器发出请求(简单地通过复制和粘贴url),一切都很好。 有人知道怎么帮我吗?非常感谢!

  • 我有以下步骤在批处理工作。 当某个异常抛出时,我在parseStepSkipListener中捕捉他并登录数据库。 我期待以下行为: 作业已启动 执行前面的步骤 开始执行解析步骤 阅读项目 进程项 写 哦,异常。 捕获异常,登录数据库,转到下一个块(读取、处理、写入)。 作业已启动 执行前面的步骤 开始执行解析步骤 阅读项目 进程项 写 哦,异常。 进程项 写入项 哦,异常。 捕获异常,登录数据库

  • 在构建自定义身份验证策略时,我使用钩子在需要时创建我的用户。 一切都很顺利,包括我的钩子: 然后我用它来消耗 但我有以下错误 代码:0错误名称:“未记录错误”消息:“无法使用策略”SSO“登录” 知道我为什么会有这样的问题吗? 问候

  • 我已将以下策略附加到IAM用户: 现在,有了附加了上述策略的IAM用户的访问凭据,我试图运行以下命令: 其中,文件policy.json的内容为: 我得到了一个 调用PutBucket策略操作时发生错误(AccessDended):拒绝访问 现在我想知道为什么? 用户的策略语句允许对资源执行: 这就是我试图用我的上述政策所做的。那么,为什么访问被拒绝?

  • 所以我一直在尝试使用一个谷歌可编程搜索引擎脚本,但我在元标记方面遇到了问题。我在my中包含的meta标记如下所示: 但是,我仍然收到一个错误,告诉我它拒绝加载脚本,因为它违反了“内容安全策略指令:“script src'self'” 我想知道它是否从其他地方继承了一些设置,因为它不接受我正在设置的新脚本src,但是如果我将其设置为“无”,它会接受新脚本src。 顺便说一下,我对html非常陌生,所

  • 我有一个多项目成绩。 项目A依赖于项目B,但gradle先编译项目A,然后编译项目B。 我的文件:settings.gradle 设计一个build.gradle 当我构建一个应用程序时,会得到错误。但我不知道该不该重复处理策略 错误: