java poi读取excel日期格式数据

在Excel中的日期格式,其数值为距离1900年1月1日的天数。
可以自己单独写个方法返回值为String型的方法将获得的HSSFCell类型转化为String再用SimpleDateFormat.parse方法转成Date。
思路是:先判断HSSFCell数据类型,excel表格中的日期不一定是标准的日期类型,所以用hssfCell.getCellType()方法获取类型,再用switch判断,若是数字类型则用HSSFDateUtil中的getJavaDate方法获取(),其他的则转成String型,实例:

private String getDate(HSSFCell hssfCell){
        DecimalFormat df = new DecimalFormat("#");
        if(hssfCell == null){
            return "";
        }
        switch (hssfCell.getCellType()){
        case HSSFCell.CELL_TYPE_NUMERIC:
            if(HSSFDateUtil.isCellDateFormatted(hssfCell)){
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

                return sdf.format(HSSFDateUtil.getJavaDate(hssfCell.getNumericCellValue()));
            }

                return df.format(hssfCell.getNumericCellValue());
        case HSSFCell.CELL_TYPE_STRING:
            return hssfCell.getStringCellValue();
        case HSSFCell.CELL_TYPE_FORMULA:
            return hssfCell.getCellFormula();
        case HSSFCell.CELL_TYPE_BLANK:
            return "";

        }
    return "";


    }

要用Date型可用SimpleDateFormat.parse方法获取。
例:

SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
tabledto.setCreatedate(dateformat.parse(getDate(createdate)));

你可能感兴趣的:(技术)