Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转换dd/mm/yyyy hr:min:sec时出现PHP excel阅读器错误_Php_Phpexcel - Fatal编程技术网

转换dd/mm/yyyy hr:min:sec时出现PHP excel阅读器错误

转换dd/mm/yyyy hr:min:sec时出现PHP excel阅读器错误,php,phpexcel,Php,Phpexcel,嗨,朋友们,我正在使用下面的代码阅读excel表格,该表格的值类似于02/11/2013 15:27:40,但当我遵循下面显示的方法时,我得到的输出是41580.6442129629。我不确定是什么错误,请帮助我解决此问题 $this->load->library('excel'); error_reporting(E_ALL); require_once 'application/third_party/PHPExcel/IOFactory.php'; $objReader = P

嗨,朋友们,我正在使用下面的代码阅读excel表格,该表格的值类似于02/11/2013 15:27:40,但当我遵循下面显示的方法时,我得到的输出是41580.6442129629。我不确定是什么错误,请帮助我解决此问题

$this->load->library('excel');
error_reporting(E_ALL);
require_once 'application/third_party/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($path);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow(); // e.g. 10
$highestColumn = $objWorksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); // e.g. 5

for ($row = 2; $row <= $highestRow; ++$row) {
    for ($col = 0; $col <= $highestColumnIndex; ++$col) {
                            if($col == $date_col)
                            {
                                    $date_column = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
                                    echo $date_column;
                            }
                       }
             }
$this->load->library('excel');
错误报告(E_全部);
需要一次“应用程序/第三方/PHPExcel/IOFactory.php”;
$objReader=PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel=$objReader->load($path);
$objWorksheet=$objPHPExcel->getActiveSheet();
$highestRow=$objWorksheet->getHighestRow();//e、 g.10
$highestColumn=$objWorksheet->getHighestColumn();//e、 g'F'
$highestColumnIndex=PHPExcel_单元格::columnIndexFromString($highestColumn);//e、 g.5
对于($row=2;$row getValue();
echo$date_列;
}
}
}
试试这个

$date_column = new DateTime(PHPExcel_Shared_Date::ExcelToPHP($date_column));
echo $date_column->format('d/m/Y H:i:s');


就我而言,无法从EXCEL2007中正确获取日期

因此,格式为“3/9/2014 00:00:00”(9月)的日期为“41885”

通过此功能,研究格式和类似数据似乎很简单,可以准确地转换为正确的日期:

function datefix_excel($excel) {

    $dif=(41885-$excel)*86400;
    $seconds=1409737670-$dif;
    $date=date("d/m/Y",$seconds);
    return $date; }

这是不言自明的。希望它能提供一些帮助。

$date\u coulmn返回41580.6442129629?是的:/It返回十进制值为41580.6442129629,请检查我的答案。为什么不使用getFormattedValue()作为日期/时间单元格?或者
回显日期('d/m/Y H:i:s',PHPExcel\u共享的\u date::ExcelToPHP($date\u column))
$date\u column=new DateTime($date\u列);此语句不正确后回显$date\u列有问题wrking@HackerRocker检查第二个选项。第二个选项给了我一个输出01/01/1970 00:00:00,这是错误的,第一个选项不正确。第二个选项应该是
echo date('d/m/Y H:i:s',PHPExcel\u Shared\u date::ExcelToPHP($date\u column))
因为
PHPExcel\u Shared\u Date::ExcelToPHP()
返回unix时间戳值,而不是格式化日期string@MarkBaker哦,我的错误……编辑。谢谢……)
function datefix_excel($excel) {

    $dif=(41885-$excel)*86400;
    $seconds=1409737670-$dif;
    $date=date("d/m/Y",$seconds);
    return $date; }