...不给源码,很难帮咧.....
不过至少可以var_dump ( $sheet1 ); 来看看,到底把excel 的数据读成怎么样了吧.

解决方案 »

  1.   

    其余数据都读取正常,仅日期不对。excel 格式:(该excel文件是另一个公司提供的。这个excel日期格式很怪,鼠标双击内容会改变。) 
    ---------------------------------- 
    2008 3 20 14:11 
    2008 3 20 14:12 
    2008 3 20 14:12 ********************************** php导出后的格式 
    ---------------------------------- 
    2008-3-20.590972222388 
    2008-3-20.591666666791 
    2008-3-20.591666666791 =====================================
    源码太长,我试着分批发一下。
      

  2.   

    太长了。整点格式化的代码吧 :    function ReadFromFat( $chain, $gran = 0x200 )
        {
            $rc = '';
            for( $i = 0; $i < count($chain); $i++ )
            $rc .= $this->get( $chain[$i] * $gran, $gran );
            return $rc;
        }
        function close()
        {
            switch($this->_type )
            {
                case DP_FILE_SOURCE:
                     @fclose( $this->_data );
                case DP_STRING_SOURCE:
                     $this->_data = null;
                default:
                        $_type = DP_EMPTY;
                        break;
            }
        }
        function isValid()
        {
            return $this->_type != DP_EMPTY;
        }
        var $_type = DP_EMPTY;
        var $_data = null;
        var $_size = -1;
        var $_baseOfs = 0;
    }class ExcelFileParser
    {
        var $dp = null;
        var $max_blocks;
        var $max_sblocks;
        // Internal variables
        var $fat;
        var $sfat;
        // Removed: var $sbd;
        // Removed: var $syear;
        var $formats;
        var $xf;
        var $fonts;
        var $dbglog;    function ExcelFileParser($logfile="",$level=ABC_NO_LOG)
        {
            $this->dbglog = &DebugOut::getWriterSingleton($logfile,"",$level);
            $this->dbglog->info("Logger started");
        }
        function populateFormat()
        {
            $this->dbglog->trace(" populateFormat() function call");
            $ret = array (
                 0=> "General",
                 1=> "0",
                 2=> "0.00",
                 3=> "#,##0",
                 4=> "#,##0.00",
                 5=> "($#,##0_);($#,##0)",
                 6=> "($#,##0_);[Red]($#,##0)",
                 7=> "($#,##0.00);($#,##0.00)",
                 8=> "($#,##0.00_);[Red]($#,##0.00)",
                 9=> "0%",
                 0xa=> "0.00%",
                 0xb=> "0.00E+00",
                 0xc=> "# ?/?",
                 0xd=> "# ??/??",
                 0xe=> "m/d/yy",
                 0xf=> "d-mmm-yy",
                 0x10=> "d-mmm",
                 0x11=> "mmm-yy",
                 0x12=> "h:mm AM/PM",
                 0x13=> "h:mm:ss AM/PM",
                 0x14=> "h:mm",
                 0x15=> "h:mm:ss",
                 0x16=> "m/d/yy h:mm",
                 // 0x17 - 0x24 reserved for international and undocumented
                 0x17=> "0x17",
                 0x18=> "0x18",
                 0x19=> "0x19",
                 0x1a=> "0x1a",
                 0x1b=> "0x1b",
                 0x1c=> "0x1c",
                 0x1d=> "0x1d",
                 0x1e=> "0x1e",
                 0x1f=> "0x1f",
                 0x20=> "0x20",
                 0x21=> "0x21",
                 0x22=> "0x22",
                 0x23=> "0x23",
                 0x24=> "0x24",
                 // 0x17 - 0x24 reserved for international and undocumented
                 0x25=> "(#,##0_);(#,##0)",
                 0x26=> "(#,##0_);[Red](#,##0)",
                 0x27=> "(#,##0.00_);(#,##0.00)",
                 0x28=> "(#,##0.00_);[Red](#,##0.00)",
                 0x29=> "_(*#,##0_);_(*(#,##0);_(* \"-\"_);_(@_)",
                 0x2a=> "_($*#,##0_);_($*(#,##0);_($* \"-\"_);_(@_)",
                 0x2b=> "_(*#,##0.00_);_(*(#,##0.00);_(*\"-\"??_);_(@_)",
                 0x2c=> "_($*#,##0.00_);_($*(#,##0.00);_($*\"-\"??_);_(@_)",
                 0x2d=> "mm:ss",
                 0x2e=> "[h]:mm:ss",
                 0x2f=> "mm:ss.0",
                 0x30=> "##0.0E+0",
                 0x31=> "@");
            $this->dbglog->dump($ret,"\$ret");
            $this->dbglog->trace("populateFormat() function return");
            return $ret;
        }
      

  3.   

    太复杂了一点,不容易看明白.试着换一个Excel解析类,我给一个地址,你下载来试一下.
    http://sourceforge.net/project/showfiles.php?group_id=99160
    使用方法可见:
    http://www.ustrem.org/en/articles/reading-xls-with-php-en/
      

  4.   

    谢谢了。那个phpExcelReader我用过。
    上面那个读取其他列都没问题,就是那个日期时间列格式不对。
      

  5.   

    自己解决了。是excel文件问题。
    将日期导出为文本后,再从文本中导入回来,即可正常显示。
    应该是导出为文本时去掉了那个特殊的格式的原因。
      

  6.   

     var $dateFormats = array (
            0xe => "d/m/Y",
            0xf => "d-M-Y",
            0x10 => "d-M",
            0x11 => "M-Y",
            0x12 => "h:i a",
            0x13 => "h:i:s a",
            0x14 => "H:i",
            0x15 => "H:i:s",
            0x16 => "d/m/Y H:i",
            0x2d => "i:s",
            0x2e => "H:i:s",
            0x2f => "i:s.S",
            0x30 => "d M Y H:i");改成这个试试,应该就可以了