PHPExcel setCellValueByColumnAndRow()为日期时间信元格式(PHP

2019-09-27 03:21发布

喜有人可以告诉我如何设置phpexcel单元格的格式为datetime,如果我有DATATIME在PHP变量? 我使用这种方式,但它仅仅是字符串:

$list->setCellValueByColumnAndRow( ++$column, $row, $survey->task->closed->format(DateTimeUtils::DATE_FORMAT_NO_SPACES) );

编辑:现在我有这样的代码:

$list->setCellValueByColumnAndRow( ++$column, $row, \PHPExcel_Shared_Date::PHPToExcel( $survey->task->closed ) )
->getStyle()->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY);

但设置单元格格式数字和日期似乎像浮点数43098.4755671296结果

Answer 1:

看来流利调用getStyle()的不工作,应该叫getStyleByColumnAndRow(),而不是在Excel工作表对象。

$activeSheet->getStyleByColumnAndRow( $column, $row, $survey)->getNumberFormat()->setFormatCode( \PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY );

我很困惑,不明白什么是对getStyle()getStyleByColumnAndRow()之间的差异。 如果有人知道让我知道。

编辑:有一个在其确定返回值setCellValueByColumnAndRow()方法的第四个参数。 流利的getStyle()需要将其设置为TRUE。



文章来源: PHPExcel setCellValueByColumnAndRow() to datetime cell format