问题背景及内容
背景
处理excel表格的导入导出时,某列的数据类型处理不当,遇到该错误。
.java文件:
level.setDiffcult((int)c1.getNumericCellValue());
level.setScore((int)(c2.getNumericCellValue()));
level.setContent(c3.getStringCellValue());
level.setAnswer(c4.getStringCellValue());
level.setKind((int)c5.getNumericCellValue());
level.setPid(pid);
level.setAnalysis(c7.getStringCellValue());
fillQS.add(level);
报错内容
c4:Cannot get a STRING value from a NUMERIC cell
原因及解决
原因
c4数据是A,B,C,D当中的一个,因为是在做一个简单的考试系统,c4列是读取A,B这种单个字母,但是会提示NUMERIC类型
解决
加上c4.setCellType(CellType.STRING);
就ok
修改后:
FillQ level = new FillQ();
level.setDiffcult((int)c1.getNumericCellValue());
level.setScore((int)(c2.getNumericCellValue()));
level.setContent(c3.getStringCellValue());
c4.setCellType(CellType.STRING);
level.setAnswer(c4.getStringCellValue());
level.setKind((int)c5.getNumericCellValue());
level.setPid(pid);
level.setAnalysis(c7.getStringCellValue());
fillQS.add(level);