Excel單元格科學計數法轉換和小數點取整

  • 當我們上傳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());
        }
    }

新建一個工具類,將以上方法寫入工具類中,調用此方法即可將讀取到的文本轉換成字符串格式(解除科學計數法和小數點)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章