2012-04-27 8 views
2

私はexcelまたはpdfでソナタの管理データをエクスポートする必要があります。どのように私はこれを達成することができますか?それを手伝うバンドルはありますか?Symfony2:SonataAdminBundleのリストデータをExcelシートにエクスポートするにはどうすればいいですか?

アイデア!?

ありがとうございました。

+0

を私の知る限りSonataAdminBundleは、JSON、XML、CSVやXLSエクスポートのサポートが組み込まれています知っているように(私のために箱から出して動作します)。 –

+0

ドキュメントやツイートへのリンクを教えてください。 – VishwaKumar

+0

私はこの機能がまだ文書化されていないと思いますが、ソナタを設定すると簡単に機能します。デモのウェブサイトにログインして動作を確認します(githubページの詳細:https://github.com/sonata-project/SonataAdminBundle)。 –

答えて

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。 私はその質問がかなり古いことを知っていますが、うまくいけばそれは他の人を助けてくれます。

3

admin getExportFields()メソッドをオーバーライドする必要があります。

エンティティは、あなたがする必要がダウンロードするレポートの種類をカスタマイズするには、すべてのフィールド

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; 
} 

をオーバーライドする必要があり、いくつかの(X)-to-多くまたは多対(X)の関係を持っている場合デフォルトを1つずつ削除し、上書き:

public function getExportFormats() 
{ 
    return array(
     'json', 'xml', 'csv', 'xls' 
    ); 
} 
関連する問題