poi读取类型为CELL_TYPE_FORMULA的cell时,cell.getCellFormula()都出来的值是D60&"0001",可是excel中的值为19位数字1056501599839870001,怎么才能读出这19位的数字?
.toString 或者 String.valueOf(cell.getCellFormula())
CELL_TYPE_FORMULA是公式类型,代表这个cell存的是一个公式。用.toString()会报错NoSuchMethodError
CELL_TYPE_FORMULA的cell时 ,取的是计算出来的值,不是取公式,所以不能用cell.getCellFormula()
取计算出来的值,就要判断值的类型,用这个函数cell.getCachedFormulaResultType()
switch (cell.getCachedFormulaResultType()) {
case STRING:
cellValue = cell.getStringCellValue();
break;
case NUMERIC:
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
cellValue = String.valueOf(nf.format(cell.getNumericCellValue()));
break;
case BOOLEAN:
cellValue = String.valueOf(cell.getBooleanCellValue());
break;
default:
cellValue = cell.getCellFormula();
}