报错:Cannot get a text value from a numeric cell
是读取的时候,Excel有的单元格里面不是String类型的,会报这个错误。
readCell.setCellType(HSSFCell.CELL_TYPE_STRING); // 设置了单元格的类型
System.out.print(readCell.getRichStringCellValue()+"\t");
还是会有这个错误,上网搜了一下。有人这样建议:通过switch语句,单元格里面是什么类型就返回那个类型的值。请教大神,还有没有别的方法?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
应该就是类型有问题,试试其他的类型设置方法试过了,由于Excel文件里面有很多种类型的值。强制设置为一种类型的话,都报错。之前我导出Excel设置类型没有问题,现在是让用户自己创建Excel,然后导入用户创建的Excel文件,设置类型就会报错!得到类型,然后返回指定类型的值,没有别的办法哦。谢谢!就是按类型读取,目前似乎没有发现其他办法。嗯,貌似只能是这样了。只能switch了,没有好办法!嗯,确实!getStringCellValue();嗯。首先得到行,然后:row.getCell(0).getStringCellValue();直接设置单元格类型为字符串型再读取;不过要判断一下,空单元格会有奇怪的值,不知道为啥。判断如果是空的话,就直接赋值""