zoukankan      html  css  js  c++  java
  • java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell

    异常

    在使用POI读取Excel文件内容时,发生了异常,报错如下:

    大概意思是不能从一个数值的列获取一个字符串类型的值,我使用下面的代码来获取单元格的值:

    //此处省略N行代码
    String cellValue = sheet.getRow(6).getCell(6).getStringCellValue();
    //此处省略N行代码

    使用了getStringCellValue()方法来获取值,POI会判断单元格的类型,如果非字符串类型就会抛出上面的异常。

    如下图,读取绿色框中的值不抛异常,读取红色框中值出抛出异常,POI认为这是一个数字。

    解决

    解决方法是在读取某单元格时,使用setCellType()方法先将该单元格的类型设置为STRING,代码如下:

    //此处省略N行代码
    sheet.getRow(6).getCell(6).setCellType(CellType.STRING);
    String cellValue = sheet.getRow(6).getCell(6).getStringCellValue();
    //此处省略N行代码

    这样就会按字符串类型来读取单元格了。

  • 相关阅读:
    Ellipsis 的升级版 line-clamp
    Angular7里面实现 debounce search
    闭包、迭代器
    Day10 函数的进阶
    函数
    文件的操作
    Day 07基础数据补充、set、深浅拷贝
    小数据池,编码和解码
    字典
    列表、元祖的操作
  • 原文地址:https://www.cnblogs.com/codecat/p/10882798.html
Copyright © 2011-2022 走看看