poi导入读取时间格式问题

万能处理方案

所有日期格式都可以通过getDataFormat()值来判断

yyyy-MM-dd----- 14

yyyy年m月d日--- 31

yyyy年m月------- 57

m月d日  ---------- 58

HH:mm----------- 20

h时mm分  ------- 32


//1、判断是否是数值格式  
if(cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){  
    short format = cell.getCellStyle().getDataFormat();  
    SimpleDateFormat sdf = null;  
    if(format == 14 || format == 31 || format == 57 || format == 58){  
        //日期  
        sdf = new SimpleDateFormat("yyyy-MM-dd");  
    }else if (format == 20 || format == 32) {  
        //时间  
        sdf = new SimpleDateFormat("HH:mm");  
    }  
    double value = cell.getNumericCellValue();  
    Date date = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(value);  
    result = sdf.format(date);  
}  
以上是借鉴他人博客,下面是我的解决方法
  //判断是否是数值格式 
                                             if(row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_NUMERIC){
                                                 short format = row.getCell(4).getCellStyle().getDataFormat();
                                                 //判断日期个格式是否是 2017/01/01 这样
                                                  /*
                                                   * 14 yyyy-MM-dd / 2017/01/01
                                                   * 31 yyyy年m月d日
                                                   * */
                                                 if(format == 14 || format == 31){
                                                     Date date = HSSFDateUtil.getJavaDate(row.getCell(4).getNumericCellValue());     
                                                       
                                                 }

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值