2017-01-22 291 views

回答

0

MS Excel将日期存储为序列化的时间戳值,自1900年1月1日以来的天数(或1904年1月1日,如果在Mac上创建)的计数......这就是您的42765值。

PHPExcel提供了许多日期处理函数,可以在PHPExcel_Shared_Date类中找到。

您可以使用PHPToExcel()方法将unix时间戳或PHP DateTime对象转换为MS Excel序列化时间戳。如果您的日期有字符串值,请先将其转换为PHP DateTime对象。 然后,您可以将单元格值设置为生成的时间戳值,并应用数字格式掩码来告诉Excel应如何显示该日期。在Examples文件夹中的02types.php例子说明了这一点:

$dateTimeNow = time(); 
$objPHPExcel->getActiveSheet() 
    ->setCellValue('C9', PHPExcel_Shared_Date::PHPToExcel($dateTimeNow)); 
$objPHPExcel->getActiveSheet() 
    ->getStyle('C9') 
    ->getNumberFormat() 
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); 

而且它也是在PHPExcel Documentation

解释