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行代码
这样就会按字符串类型来读取单元格了。
java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell的更多相关文章
- 完美解决读取Excel的数字单元格时Cannot get a STRING value from a NUMERIC cell 报错处理
我使用的是Poi(最新的4.1.0)方式读取Excel ,我的方法如下: 在打印cell内容时,抛出下面的错误 Exception in thread "main" java.la ...
- Cannot get a STRING value from a NUMERIC cell poi异常解决
ref:http://www.tpyyes.com/a/kuozhan/2017/0902/199.html poi导入excel表格数据时报java.lang.IllegalStateExcepti ...
- Spring Scheduled定时任务报错 java.lang.IllegalStateException: Encountered invalid @Scheduled method 'xxx': For input string: "2S"
报错信息如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ding ...
- [Android]ListFragment.setEmptyText() 抛 java.lang.IllegalStateException
在ListFragment子类中直接调用setEmptyText(getString(R.string.msg_no_invited_parties)), 抛java.lang.IllegalStat ...
- 关于java.lang.IllegalStateException
今天调试程序时遇到了java.lang.IllegalStateException org.apache.catalina.connector.ResponseFacade.sendRedirect( ...
- struts2 下载时报java.lang.IllegalStateException
-----------------------------------------struts2 下载时报java.lang.IllegalStateException---------------- ...
- Android开发之Okhttp:java.lang.IllegalStateException: closed
在使用Okhttp的时候 运行到response.body().string()一步时抛异常,java.lang.IllegalStateException: closed 查阅各种资料大致意思是Th ...
- java.lang.IllegalStateException
java.lang.IllegalStateExceptionorg.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFac ...
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法【转】
Android应用开发中常常会用到定时器,不可避免的需要用到 TimerTask 定时器任务这个类下面简单的一个示例演示了如何使用TimerTask这个示例演示了3秒未有触屏事件发生则锁屏(只是设置下 ...
随机推荐
- hdu 4927 java程序
/*对于本题题意非常easy 关键在于求杨辉三角时的二项式是没实用到优化,导致超时. 对于第n行的二项式的第i个可有第i-1个乘于一个数处于一个数得到,要用到大数.java比較方便. 假如n=6,i= ...
- c语言高速推断一个数是偶数还是奇数
#include <stdio.h> int main() { int a; while(1) { printf("please input the number:\n" ...
- UVA - 11464 Even Parity 【暴力枚举】
题意 给出一个 01 二维方阵 可以将里面的 0 改成1 但是 不能够 将 1 改成 0 然后这个方阵 会对应另外一个 方阵 另外一个方阵当中的元素 为 上 下 左 右 四个元素(如果存在)的和 要求 ...
- 解决webpack不能匹配post请求的问题
解决webpack不能匹配post请求的问题 webpack的dev-server只能匹配get请求,在本地做本地数据的时候会很不方便. 可以使用如下两种办法解决: 1.在webpack.config ...
- smokeping高级配置
摘自: http://mayulin.blog.51cto.com/1628315/514367 自定义报警 http://www.cnblogs.com/thatsit/p/6395506.html
- access 驱动在win64位出现问题
如果是调试的话,将应用程序池的 启动win32应用程序池 为 true
- HDU 3853 LOOPS:期望dp【网格型】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3853 题意: 有一个n*m的网格. 给出在每个格子时:留在原地.向右走一格,向下走一格的概率. 每走一 ...
- POJ 3620 Avoid The Lakes(dfs算法)
题意:给出一个农田的图,n行m列,再给出k个被淹没的坐标( i , j ).求出其中相连的被淹没的农田的最大范围. 思路:dfs算法 代码: #include<iostream> #inc ...
- BZOJ-4819: 新生舞会(01分数规划+费用流)
Description 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴.有n个男生和n个女生参加舞会 买一个男生和一个女生一起跳舞,互为舞伴.Cathy收集了这些同学之间 ...
- python爬虫知识点总结(八)Selenium库详解
官方学习文档:http://selenium-python.readthedocs.io/api.html 一.什么是Selenium? 答:自动化测试工具,支持多种浏览器.用来驱动浏览器,发出指令让 ...