- 當我們上傳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());
}
}
新建一個工具類,將以上方法寫入工具類中,調用此方法即可將讀取到的文本轉換成字符串格式(解除科學計數法和小數點)