我有一列的单元格格式是这样的:
我一直对此问题感到困惑,并且收到此错误“无法从数字单元格获取文本值”。
我如何获取包含整数值“ 2040”作为字符串的单元格,该单元格在电子表格中已设置为文本格式?
最佳答案
您要查找的课程是DataFormatter。 Excel本身通常会将数字以CELL_TYPE_NUMERIC的形式存储在文件中,并带有适当的格式设置规则以使它们按您期望的方式呈现。如果要将双精度值+格式规则转换为字符串,DataFormatter将为您完成此操作。
然后,您的代码可以如下所示:
DataFormatter fmt = new DataFormatter();
Row r = sheet.getRow(10);
Cell c = r.getCell(2, Row.RETURN_BLANK_AS_NULL);
if (c == null) {
// There's no value in this cell
} else {
System.out.println("Cell K2 is " + fmt.formatCellValue(c));
}