Symfony,PHPExcel不接受数据库中的日期数组?

时间:2014-05-30 20:11:25

标签: php excel symfony

我在输出带有日期对象的Excel时遇到问题。我在Symfony上使用PHPExcel。我执行了一个SQL,它从我的Symfony控制器中的数据库中获取数据。然后我做了一个for循环来遍历每一行数据。但是,当我添加日期值时,它会给我一个错误:

FatalErrorException: Error: Cannot use object of type DateTime as array in ...\Symfony\vendor\phpoffice\phpexcel\Classes\PHPExcel\Cell\DefaultValueBinder.php line 86

这是我的代码:

$excel = new PHPExcel();

$excel->setActiveSheetIndex(0);
 // ..etc

for($results as $result) {
   // codes..
   ->setCellValue('H'.$i, $result['date'])

}

由于这个原因,它不允许我输出excel。我应该将它转换为字符串吗?

1 个答案:

答案 0 :(得分:1)

我通过使用日期值循环遍历单元格并按数字格式将其设置为日期来找到解决方案:

$excel = new PHPExcel();

$excel->setActiveSheetIndex(0);
// ..etc

$i = 3;
for($results as $result) {

  $excel->getActiveSheet()->getStyle('H'.$i)
          ->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);

  $date = \PHPExcel_Shared_Date::PHPToExcel($result['date']);

  // codes..
    ->setCellValue('H'.$i, $result['date'])
}