代码改变世界

Excel导入数据异常Cannot get a text value from a numeric cell解决办法

  猎手家园  阅读(1175)  评论(0编辑  收藏  举报

POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误。

异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric cell的异常错误。

此异常常见于类似如下代码中:row.getCell(0).getStringCellValue();

解决办法:先设置Cell的类型,然后就可以把纯数字作为String类型读进来了:

1
2
3
4
if(row.getCell(0) != null){
    row.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
    String value = row.getCell(0).getStringCellValue();
}

或者只判断数字:

1
2
3
4
if(row.getCell(0) != null && row.getCell(0) == Cell.CELL_TYPE_NUMERIC){
    row.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
    String value = row.getCell(0).getStringCellValue();
}

 

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示