如何使用PhpExcel生成date格式?

$date='30-09-11' $objPHPExcel->getActiveSheet() ->setCellValue(toAlphaNumber($tmpCOunt + 9) . $rowNbmr, $date) ->getStyle(toAlphaNumber($tmpCOunt + 9) . $rowNbmr )->applyFromArray( array( 'font' => array('color' => array('rgb' => '000000')) )) ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14 ) ; 

在Excel中,单元格显示它是一个“date”,但在select单元格并按任意键之前,我无法操作它,然后自动将它alignment到右侧,我就能够操作为date。

'30-09-11'不是date。 它可能看起来像一个人的date, 但是对于一台电脑来说,它只不过是一个string。 为了告诉PHPExcel这是一个date,你必须把它转换成计算机可以识别的date – 在这种情况下,MS Excel序列化的时间戳(这基本上是自1900年1月1日以来的天数的计数。

PHPExcel也提供了这样的function,即PHPExcel_Shared_Date类中的PHPToExcel()方法。

但是,您可能还需要解释datestring代表什么,例如,是1911年9月30日还是2011年? 是1930年9月11日还是2030年? 你需要理清这个模棱两可的问题,因为PHP和PHPExcel都不能自动地理解你这个模棱两可的string是什么意思,即使你告诉他们这是一个date。