excel import ms excel的问题

问题描述 投票:0回答:1

使用ms excel文件导入excel时无法解决此错误

Array ( [0] => 42000 [1] => 1065 [2] => Query was empty ) 
Warning: A non-numeric value encountered in C:\xampp\htdocs\Classes\PHPExcel\Shared\Date.php on line 135

Warning: A non-numeric value encountered in C:\xampp\htdocs\Classes\PHPExcel\Shared\Date.php on line 136

Warning: A non-numeric value encountered in C:\xampp\htdocs\Classes\PHPExcel\Shared\Date.php on line 137

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\Classes\PHPExcel\CachedObjectStorage\CacheBase.php on line 196

date.php

 if ($dateValue >= 1) {
            $utcDays = $dateValue - $myexcelBaseDate;
            $returnValue = round($utcDays * 86400);
            if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) {
                $returnValue = (integer) $returnValue;
            }
        } else {
            $hours = round($dateValue * 24);
            $mins = round($dateValue * 1440) - round($hours * 60);
            $secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60);
            $returnValue = (integer) gmmktime($hours, $mins, $secs);
        }

但它正在为自由办公室工作。任何帮助将不胜感激。

php excel
1个回答
1
投票

我认为你可以投入一个int $dateValue = (int)$dateValue;

我认为其他地方的线是135,136,137

if ($dateValue >= 1) {
    $utcDays = $dateValue - $myexcelBaseDate;
    $returnValue = round($utcDays * 86400);
    if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) {
        $returnValue = (integer) $returnValue;
    }
} else if ($dateValue < 0){
    $dateValue = (int)$dateValue;
    $hours = round($dateValue * 24);
    $mins = round($dateValue * 1440) - round($hours * 60);
    $secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60);
    $returnValue = (integer) gmmktime($hours, $mins, $secs);
}

此外,有时你需要增加执行时间,你可以这样做:

set_time_limit(60); // 60 seconds.
© www.soinside.com 2019 - 2024. All rights reserved.