Symfony2:如何将SonataAdminBundle列表数据导出到Excel工作表?

时间:2012-04-27 07:50:25

标签: symfony export-to-excel symfony-sonata export-to-pdf

我需要通过excel或pdf导出奏鸣曲管理员数据。我怎样才能实现这一目标?是否有任何捆绑帮助我这样做?

任何想法!?

感谢。

2 个答案:

答案 0 :(得分:3)

您必须覆盖admin getExportFields()方法。

如果实体具有某些(X)到多个或多个到(X)的关系,则必须覆盖所有字段

public function getExportFields()
{
     $exportFields = parent::getExportFields(); //It's not working in case of *-to many relation, so remove it, but it's ok for small customisation

     $exportFields["Date"] = 'date';             //if your date is an instance of DateTime, you have to format it
     $exportFields["User name"] = 'user.name';   // in case of *-to-many relations
     $exportFields["Status"] = 'statusAsString'; //for customise format implement getStatusAsString() in you entity
     return $exportFields;
}

要自定义要下载的报告类型,您必须覆盖,删除默认值:

public function getExportFormats()
{
    return array(
        'json', 'xml', 'csv', 'xls'
    );
}

答案 1 :(得分:1)

我已经为Symfony和Sonata实施了Bundle,将列表导出为PDF。你可以在这里得到它:https://github.com/whyte624/sonata-admin-extra-export-bundle。它基于此处建议的解决方案:http://cristian-radulescu.ro/article/add-pdf-export-functionality-in-sonataadminbundle.html。 我知道这个问题已经很老了,但希望它可以帮助其他人。