duanliang1999 2014-02-11 23:12
浏览 36
已采纳

Symfony2创建并下载CSV

I am trying to create a csv and download it to the browser. There is almost ZERO documentation on this in Symfony2 from what I can find.

Here is my code:

 // Pass in all of the variables that will make up the pdf...
    $response = $this->renderView('WICPurchaseOrderBundle:PurchaseOrder:csv.html.twig', array( "data"=>$data
        )
    );
    $response->headers->set('Content-Type', 'text/csv'); // This is line 929 in the error.
    $response->headers->set('Content-Disposition', 'attachment; filename="teams.csv"');

    return $response;

This is the error I get:

 Notice: Trying to get property of non-object in /Applications/XAMPP/xamppfiles/htdocs/symfonydev/src/WIC/PurchaseOrderBundle/Controller/PurchaseOrderController.php line 929

Anyone have an experience with CSV's in Symfony2 and can help me out? Thanks!

  • 写回答

1条回答 默认 最新

  • dongpian4954 2014-02-11 23:23
    关注

    I have a successful CSV download in my Symfony2 application, and it looks like you are close to getting it right. Change this line:

    $response = $this->renderView('WICPurchaseOrderBundle:PurchaseOrder:csv.html.twig', 
        array( "data"=>$data)
    );
    

    to this:

    $response = $this->render('WICPurchaseOrderBundle:PurchaseOrder:csv.html.twig', 
        array( "data"=>$data)
    );
    

    the renderView() method renders a template and returns its content, but does not create a response. the render() method returns a Response object containing the content from the template:

    See the docs about Rendering a template

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序