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());
        }
    }

新建一个工具类,将以上方法写入工具类中,调用此方法即可将读取到的文本转换成字符串格式(解除科学计数法和小数点)

你可能感兴趣的:(Excel,科学计数法转换)