Cannot get a STRING value from a NUMERIC cell

问题描述

今天使用apipost导入excel表格数据时在读取excel表格数据时报java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell异常

java. lang.IllegalStateException: Cannot get a STRING value from a NUlERIC cell
at org.apache.poi.xssf.usermodel.XSSFCell.typellismatch(XSSFCell. java:1050)
at org. apache. poi.xssf.usermodel.XSSFCell.getRichStringCellValue(XSSFCell. java:404)
at org.apache.poi.xssf.usermodel.XSSFCell.getStringCellValue(XSSFCell. java:356)

原因分析:

 查阅资料才发现是因为java在读取cell单元格字符串时,会有number类型的数据,因此需要把它先转化为纯String类型,然后在获取就可以了。


解决方案:

在获取表格数据时,它先转化为纯String类型

 就像这样直接获取,就会报Cannot get a STRING value from a NUMERIC cell的错误

//获取单元格
XSSFCell cell = row.getCell(0);
//获取单元格数据
String cellValue = cell.getStringCellValue();

需要在读取excel单元格数据转化之前设置单元格类型为String

//获取单元格
XSSFCell cell = row.getCell(0);
//设置单元格类型
cell.setCellType(CellType.STRING);
//获取单元格数据
String cellValue = cell.getStringCellValue();

这样写完之后,就不会出现之前的错误了,快去试试吧!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值