die3sportarten

Triathlon and coding makes some fun

Ausgabe in symfony, Export in eine CSV Datei

without comments

Eine CSV Datei ist eigentlich nur eine Komma getrennte Wertetabelle,
Wert1, wert1a, wert1b
wert2, wert2a, wert2b
Was für den Projektmanager die Gantt Diagramme sind, ist für die Buchhaltung und Banken CSV Datei, die kann man nämlich in Excel öffnen.
Schlüsselwort war eben schon genannt es ist ‘DATEI’, also klicken auf einen linkt es kommt so ein ‘Datei Downloaden oder öffnen’ Fenster.
Als Vorbereitung brauchen wir hier eines neues Layout, also Hauptordner den ‘templates’ eine neue Layout-Datei erstellen, hier ‘csvLayout.php’ der Inhalt ist einfach gehalten

 echo $sf_data->getRaw('sf_content') 

.
Fertig. super!
Wir haben natürlich auch wieder eine Funktion,

public function executeCsv(sfWebRequest $request)
{
/**coole Abfrage. Daten holen**/
//unsere Layout Datei setzten
$this->setlayout('csvLayout');
//die Standard ausgabe des Header löschen
$this->getResponse()->clearHttpHeaders();
//dem Browser erzählen was da kommt
$this->getResponse()->setHttpHeader('Content-Type', 'application/vnd.ms-excel');
//und die Datei heisst
$this->getResponse()->setHttpHeader('Content-Disposition', 'attachment;filename=umsatzanzeige.csv');
}

In der View csvSuccess.php findet dann die Verabeitung der Daten statt.


foreach ($values as $v ):
echo $v->getId().',' .$v->getSome();
endforeach; 

Done, Buchhaltung ist glücklich.

Written by Henrico

September 15th, 2010 at 11:49 am

Posted in Code