`
yheye
  • 浏览: 66252 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

poi异常:java.lang.NoSuchMethodError:org.apache.poi.hssf.usermodel.HSSFRow.getCell

    博客分类:
  • POI
阅读更多

今天想测试一下3.7版的POI(之前一直用的3.0版,蛮长时间了~)

有如下一段代码:

 

public static HSSFCell getCellFromSheetByCell(HSSFSheet sheet, int row, int col) {
    HSSFRow r = getRowFromSheetByRow(sheet, row);
    return r.getCell(col, Row.CREATE_NULL_AS_BLANK);
}

 

总是在调用getCell的时候报错: 

Exception in thread "main" java.lang.NoSuchMethodError: 
org.apache.poi.hssf.usermodel.HSSFRow.getCell(ILorg/apache/poi/ss/usermodel/Row$MissingCellPolicy;)Lorg/apache/poi/hssf/usermodel/HSSFCell;


是没有定义getCell方法吗?奇怪 

改成别的方式也会报类似错误,如: 

 

public static HSSFCell getCellFromSheetByCell(HSSFSheet sheet, int row, int col) {
    HSSFRow r = getRowFromSheetByRow(sheet, row);
    return r.getCell(col);
}

 

下意识的开始搜索getCell函数的使用方法,但是Google了半天还是没啥结果。。。 

后来好奇地调用了下面这个函数,一切才真相大白 

System.out.println(HSSFWorkbook.class.getProtectionDomain().getCodeSource().getLocation());


它打印的结果显示,HSSFWorkbook的类文件还是在3.0版中! 

原来我这个测试项目中引入了两次poi.jar,一个是3.0版(通过Build Path方式),一个是3.7(通过maven方式),我的零散测试代码基本上都是写在这里边,已经积累了太多的jar。 
显然eclipse中compile时用的3.7,runtime时用的却是3.0。 

分享到:
评论
2 楼 cuqing 2015-07-03  
版本冲突问题吧。在Idea中配置库,Maven依赖又加了不同版本的,可能会出现这种错误,我觉得。不知道如何通过在项目配置中修改下就能直接运行成功? 修改pom.xml配置还是直接把其中的一个版本删除掉,其他人有否成功的实践?
1 楼 ae6623 2012-12-13  
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\port\WEB-INF\lib 把这下面的jar包全部删掉,然后把你项目中的不要的jar包全部删掉,重部署。jar包冲突了。

相关推荐

    org.apache.poi jar包

    import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org. apache.poi.hssf.util.HSSFColor; import org...

    org.apache.poi JAR包

    import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org....

    org.apache.poi.hssf.usermodel.HSSFCell

    velocity开发插件org.apache.poi.hssf.usermodel.HSSFCellorg.apache.poi.hssf.usermodel.HSSFCell

    org.apache.poi JAR包 Java

    import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFCell; import ...

    Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer异常

    在这个特定的场景中,异常堆栈跟踪显示了 `Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer`,这表明系统无法找到 `org.apache.commons.collections.Transformer` 类。...

    org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException

    解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常

    解决报错java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException

    该jar包解决报错java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException,亲测可用。

    apache poi解析excel数据的jar包

    解析excel数据入库的三个jar包,org.apache.poi.hssf.usermodel.HSSFCell;... org.apache.poi.hssf.usermodel.HSSFRow; org.apache.poi.hssf.usermodel.HSSFSheet; org.apache.poi.hssf.usermodel.HSSFWorkbook;

    Linux POI easyExcel解决方案.zip

    解决在Linux系统下,POI、easyExcel 报错 java.lang.IllegalArgumentException: The workbook already contains a sheet named。原因是缺少了字体文件,如果是Docker部署使用本资源即可。内部提供字体资源以及代码...

    org.apache.poi.hssf.converter,office转html所需包

    `org.apache.poi.hssf.converter` 是Apache POI的一个子模块,它专注于处理老版本的Excel文件(.xls),也就是基于HSSF(Horizontally Stored Spreadsheet Format)的文件。 在这个标题为“org.apache.poi.hssf....

    poi4.1.2以及所有依赖,源码,文档.zip

    org.apache.poi:poi:4.1.2 org.apache.poi:poi-ooxml:4.1.2 org.apache.poi:poi-ooxml-schemas:4.1.2 org.apache.xmlbeans:xmlbeans:3.1.0 com.github.virtuald:curvesapi:1.06 com.zaxxer:SparseBitSet:1.2 commons...

    java.lang.NoSuchFieldError: STRING

    解决 java.lang.NoSuchFieldError: STRING at org.jbpm.identity.hibernate.PermissionUserType. 不用jbpm的jbpm-identity.jar 用这个就好

    android 使用poi读取高版本excel

    at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:184) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:149) javax.xml.stream....

    fr.opensagres.poi.xwpf.converter.7z

    标题中的"fr.opensagres.poi.xwpf.converter.7z"是一个压缩包文件,其中包含了两个与Apache POI相关的库,这些库主要用于处理WordprocessingML(.docx)文档,并将其转换为PDF格式。Apache POI是Java领域的一个著名...

    java.lang.IllegalStateException: getOutputStream() has already解决办法

    纠结了半天的 java.lang.IllegalStateException: getOutputStream() has already。这个问题困扰了半天,在网上查阅了大量资料 出这个错误一般就是下面2个.....

    java 空指针异常(NullPointerException)

    Java中的空指针异常(NullPointerException)是编程过程中常见的错误类型,尤其对于新手开发者来说更为常见。这个异常通常在试图访问或操作一个值为null的对象引用时抛出。下面将详细探讨这一异常的原因、表现形式、...

    ExcelExportUtils.java

    import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache....

    java 读写EXEcel文档范例

    import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem;...

    java POI 详解

    * org.apache.poi.hssf.usermodel.HSSFRow * org.apache.poi.hssf.usermodel.HSSFCell * org.apache.poi.hssf.usermodel.HSSFFont * org.apache.poi.hssf.usermodel.HSSFDataFormat * org.apache.poi.hssf.usermodel...

    org.apache.poi.xwpf.converter

    标题中的"org.apache.poi.xwpf.converter"指的是这个特定的转换库,它包含了处理XML Word Processor Format (XWPF) 文件所需的类和方法。XWPF是Apache POI用来解析和生成DOCX文件的内部表示。这个库允许开发者编程...

Global site tag (gtag.js) - Google Analytics