- 当我们上传Excel文件,读取单元格中的数据不是文本格式时,通过 row.getCell() 方法取值,可能发生长数字为科学计数法,或整数带有小数点的情况。
/**
* 此方法用于检测单元格cell 的值的类型
* 并根据不同的方法转换为String类型
*
* @param cell
* @return SYD
*/
public static String getValue(Cell cell) {
if (cell == null) {
return "";
} else if (cell.getCellType() == cell.CELL_TYPE_BOOLEAN) {
return String.valueOf(cell.getBooleanCellValue());
} else if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {
String value = "";
//检验是否为日期格式的数值类型
if (DateUtil.isCellDateFormatted(cell)) {
value = dateFormat.format(cell.getDateCellValue());
} else {
// 此处可将 科学计数法(如:1.2345345E7)或 小数点(如:2.0) 均转换为正常数字(12345345)或 (2)的字符串
value = new DecimalFormat("0").format(cell.getNumericCellValue());
}
return value;
} else {
return String.valueOf(cell.getStringCellValue());
}
}
新建一个工具类,将以上方法写入工具类中,调用此方法即可将读取到的文本转换成字符串格式(解除科学计数法和小数点)