2012-02-14 34 views
0

我想讓我的symfony2應用程序導出到Excel。我可以把它寫入磁盤沒有問題,但是當我嘗試通過symfony響應導出時,我得到了很多gobbledygook。任何人都可以提出建議:我如何獲得symfony2導出到Excel

function exportAction() 
{ 
    $fname = "/tmp/test_xls.xlsx"; 
    $php_excel = new \PHPExcel();// 
    $php_excel->setActiveSheetIndex(0); 
    $sheet = $php_excel->getActiveSheet(); 
    $sheet->setCellValue('A1', 'Hello'); 
    $sheet->setCellValue('B2', 'world!'); 

    $writer = new \PHPExcel_Writer_Excel2007($php_excel); 
    $writer->save($fname); 

    $content = file_get_contents($fname); 
    return new Response(
     $content, 
     200, 
     array(
      'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8', 
      'Content-Disposition' => 'attachment; filename="test_957export.xlsx"', 
      'Content-Transfer-Encoding' => 'application/octet-stream', 
      'Content-Length' => strlen($content) 
     ) 
    ); 
} 
+4

你試過'LoveBundle'嗎?我相信它提供了一個'give_love'設置。 – leek 2012-02-14 18:26:31

回答

0

您的標題名稱無效。從Content-Transfer-Encoding和Content-Length中刪除':'。如果它沒有幫助,請嘗試刪除一些標題。

類似的問題:Convert image to string (for Symfony2 Response)(可能有幫助)。

+0

謝謝 - 這是傳輸代碼時發生錯誤。我嘗試刪除,添加,更改標題。一切都無濟於事。 – Aaron 2012-02-14 21:51:02