嗨朋友我正在使用以下代码来阅读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;
}
}
}
答案 0 :(得分:1)
试试这个。
$date_column = new DateTime(PHPExcel_Shared_Date::ExcelToPHP($date_column));
echo $date_column->format('d/m/Y H:i:s');
或者
echo date('d/m/Y H:i:s', PHPExcel_Shared_Date::ExcelToPHP($date_column));
答案 1 :(得分:0)
在我的情况下,无法从EXCEL2007正确获取日期。
因此格式为“3/9/2014 00:00:00”(九月)的日期为“41885”。
使用此功能研究格式和类似似乎很简单,准确转换为正确的日期:
function datefix_excel($excel) {
$dif=(41885-$excel)*86400;
$seconds=1409737670-$dif;
$date=date("d/m/Y",$seconds);
return $date; }
这是自我解释的。希望它能提供一些帮助。