poi 處理excel 小數問題 整數不保留小數位 整數多.0



讀取的單元格為 hssfCell ,傳入下面我提供的方法處理
默認poi返回的為DOUBLE,所有先轉為Long判斷下,再進行返回;
  private  String getValue(Cell hssfCell) {
        if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
            // 返回布爾類型的值
            return String.valueOf(hssfCell.getBooleanCellValue());
        } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
            // 返回數值類型的值
            Object inputValue = null;// 單元格值
            Long longVal = Math.round(hssfCell.getNumericCellValue());
            Double doubleVal = hssfCell.getNumericCellValue();
            if(Double.parseDouble(longVal + ".0") == doubleVal){   //判斷是否含有小數位.0
                inputValue = longVal;
            }
            else{
                inputValue = doubleVal;
            }
            DecimalFormat df = new DecimalFormat("#.####");    //格式化為四位小數,按自己需求選擇;
            return String.valueOf(df.format(inputValue));      //返回String類型
        } else {
            // 返回字符串類型的值
            return String.valueOf(hssfCell.getStringCellValue());
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM