用PHP excel类读取excel文件后,如果碰到excel文件的列是日期型的就无法正常显示日期的值。我该怎么让PHP自动判断所读取的列是否是日期型的,如果是日期型就通过转换函数转换成可以正常显示的值。

解决方案 »

  1.   

    不能强制转换成string后再处理吗?
      

  2.   

    直接把EXCEL 文件另存为网页格式,即为静态页面,这样可以吗?
      

  3.   

    不行啊,用excel读取excel文件后,如果有日期格式的就自动会转换成整数,比如2010-1-1就显示40179。我现在是解决的就是如果碰到excel列里有日期格式的就让它直接显示出来,
      

  4.   

    可以把excel保存为cvs格式 然后用用fgetcvs()读取 不知道说的是不是一个功能 我是把excel文件的内容读到数据库中 用这个函数实现了
      

  5.   

    这个我做过, 给你个函数, 试一下吧, 以前我在网上找到的//excel日期转换函数
    function excelTime($days, $time=false){
    if(is_numeric($days)){
    //based on 1900-1-1
    $jd = GregorianToJD(1, 1, 1970);
    $gregorian = JDToGregorian($jd+intval($days)-25569);
    $myDate = explode('/',$gregorian);
    $myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)
    ."-".str_pad($myDate[0],2,'0', STR_PAD_LEFT)
    ."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT)
    .($time?" 00:00:00":'');
    return $myDateStr;
    } elseif(strpos($days,'.')!==0) {
            return str_replace('.','-',$days);
        }
    return $days;
    }