使用PHPExcel从excel文件中读取日期

时间:2012-11-20 19:19:55

标签: php phpexcel

当我尝试将Excel文件读取到PHP时,我遇到了问题。我现在使用的是PHPExcel 1.7.7版本。

以下是excel 2007文件中的示例(名称列A,日期列B)

Jim 9/17/2010
Gordon  6/4/1979
Bill    3/24/1987
Steve   5/24/1991
Robin   8/8/1964

我用这段代码来读取名字和生日:

include 'PHPExcel/IOFactory.php';
$inputFileName = 'example.xls';

echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format
';
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

foreach ($sheetData as $row) {
echo $row['A'];
echo date_format(date_create_from_format('m-d-y', $row['B']), 'Y-m-d');
}

最后它会打印出像这样的东西

Jim     2010-09-17
Gordon  1979-06-04
Bill    1987-03-24
Steve   1991-05-24
Robin   2064-08-08

我如何改变最后一部分,这一年将是1964年?

2 个答案:

答案 0 :(得分:1)

从未使用过这个功能,但是从php.net上检查它的doc我认为你可以改变这一行:

echo date_format(date_create_from_format('m-d-y', $row['B']), 'Y-m-d');

为:

echo date_format(date_create_from_format('m-d-Y', $row['B']), 'Y-m-d');

参考: http://www.php.net/manual/en/datetime.createfromformat.php

答案 1 :(得分:0)

试试这个:

echo date_format(date_create_from_format('m-d-y', $row['B']), 'Y');