Symfony返回对excel的响应

Sto*_*ker 0 excel symfony

如何在Symfony中返回将输出excel文件的响应?我收到一个错误,我必须返回一个响应,它需要在字符串中正确吗?救命!

 $excel = new PHPExcel();

 $excel->setActiveSheetIndex(0);
 $excel->getActiveSheet()
        ->setCellValue('A1', 'hi');

 $objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
 $objWriter->save(str_replace('.php', '.xlsx', __FILE__));

 return $objWriter;
Run Code Online (Sandbox Code Playgroud)

错误:

The controller must return a response (Object(PHPExcel_Writer_Excel2007) given).
Run Code Online (Sandbox Code Playgroud)

Vis*_*ioN 10

Controller必须返回Response类的实例,因此请执行以下操作:

ob_start();
$objWriter->save('php://output');

return new Response(
    ob_get_clean(),  // read from output buffer
    200,
    array(
        'Content-Type' => 'application/vnd.ms-excel',
        'Content-Disposition' => 'attachment; filename="doc.xls"',
    )
);
Run Code Online (Sandbox Code Playgroud)

如果您使用Excel 2007或上部设置内容类型"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"和文件扩展名xlsx.