码迷,mamicode.com
首页 > 编程语言 > 详细

java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell

时间:2019-05-17 18:15:45      阅读:689      评论:0      收藏:0      [点我收藏+]

标签:获取值   rom   lan   excel   illegal   alt   inf   字符串类   内容   

异常

在使用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行代码

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

 

java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell

标签:获取值   rom   lan   excel   illegal   alt   inf   字符串类   内容   

原文地址:https://www.cnblogs.com/codecat/p/10882798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!