zoukankan      html  css  js  c++  java
  • jar包--POI.jar包使用问题汇总

    使用POI低版本的jar包,导入excel时类型不匹配报错,优化方式

    使用场景:如题,在导入报表时,导入cell类型错误,一般常见是'字符串'和'数字类型'的问题

    原因:cell中的类型无法判断,单独使用getStringvalue或者getNumericValue会报错

    解决方法:所以添加以下代码,然后调用cellToString(HSSFRow row,int r)方法即可,无论是数字型、字符串型、布尔型、最后返回的都是字符串型,可直接存到数据库中使用:

     1 public String cellToString(HSSFRow row,int r){
     2     String dates = new String();
     3     HSSFCell cell = row.getCell((short)r);
     4     if(null!=cell){
     5         switch(cell.getCellType()){
     6             case HSSFCell.CELL_TYPE_NUMERIC:
     7                 dates = String.valueOf(((long)cell.getNumericCellValue())).trim();//数字类型
     8                 System.out.println("NUMERIC="+dates);
     9                 break;
    10             case HSSFCell.CELL_TYPE_STRING:
    11                 dates = cell.getStringCellValue().trim();//字符串类型
    12                 System.out.println("STRING="+dates);
    13                 break;
    14             case HSSFCell.CELL_TYPE_BOOLEAN:
    15                 dates = String.valueOf(cell.getBooleanCellValue()).trim();//布尔类型
    16                 break;
    17             default:
    18                 System.out.print("表中有除数字、字符串、布尔之外的类型   ");
    19                 break;
    20         }
    21 
    22     }
    23     return dates;
    24 }

    poi报错:Invalid header signature

    产生场景:这个问题是在使用poi导入excel文件时产生的:

    问题原因:excel是从网页下载或者其他第三方软件导出的,所以它的后缀名虽然是xsl,但是它文件头签名仍然是原来的格式,所以poi不能识别,所以pio不能读取它

    解决方法:使用excel打开,另存为2003版的excel,再导入就好了。

  • 相关阅读:
    Java之static作用的深度总结
    关于UiAutomator无法识别的元素
    pom.xml详解
    maven的依赖范围scope
    maven-surefire-plugin插件
    remote origin already exists解决办法
    resin启动报错:guava-15.0.jar!/META-INF/beans.xml:5: <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"> is an unexpected top-level tag. 异常
    Mysql存储过程
    ical4j 实现ICS文件的生成和解析
    设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/silence-fire/p/6397348.html
Copyright © 2011-2022 走看看