Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche les champs
avec ton séparateur.
Le template pourra être nommé exportationEvaluationSuccess.csv.php si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par exemple
rien qu'en modifiant le sf_format de la route : une seule action et autant
de templates que d'exports possibles

/evaluation/export.csv => exportationEvaluationSuccess.csv.php
/evaluation/export.xml => exportationEvaluationSuccess.xml.php

par exemple.

-----Message d'origine-----
De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection -> array

J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement mais poas
lorsque j' essai de recupérer la collection "evaluations"

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest $request)

   {

   $this->id = $request->getParameter('id');
   $evaluations = Doctrine_Core::getTable('Evaluation')-
>getEvaluationbycustomer(2);

   $fp = fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

   foreach ($evaluations as $fields) {
   fputcsv($fp, $fields);
    }

    fclose($fp);

    $fichier = '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
    header('Content-Type: application/csv;name='.$fichier);
    header('Content-Disposition: attachment;filename='.$fichier);


    readfile($fichier);
    return sfView::HEADER_ONLY;


   }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à