drjun1994
2014-05-30 20:11
浏览 47
已采纳

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

I'm having problems outputting an excel with its date object. I'm using PHPExcel on Symfony. I performed an SQL that grabs data from the database in my Symfony controller. Then I did a for loop to iterate through each rows of data. However when I added in the value of a date, it gives me an error:

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

Here is my code:

$excel = new PHPExcel();

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

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

}

It's not allowing me to output the excel because of this. Should I be converting it to a string?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongyihao9887 2014-05-30 21:14
    已采纳

    I found the solution through looping through the cell with the date values and setting it as date by number format:

    $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'])
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题