Export der Grid-Daten (CSV/Excel)
Export der Grid-Daten (CSV/Excel)
~6 Min. Lesezeit Zuletzt aktualisiert am 9. August 2026
Ein Export-Button für CSV/Excel-Export ist im Gegensatz zu vielen anderen Features in diesem Tutorial fast vollständig deklarativ - der generische Magento-Core-Controller übernimmt die eigentliche Export-Logik.
exportButton in listing.xml
<listingToolbar name="listing_top">
<exportButton name="export_button"/>
<filters name="listing_filters"/>
<massaction name="listing_massaction"/>
<paging name="listing_paging"/>
</listingToolbar>Das war es bereits - Magento rendert automatisch zwei Optionen ("Export CSV" und "Export Excel XML") und ruft dafür bereits vorhandene Core-Controller (Magento\Ui\Controller\Adminhtml\Export\GridToCsv und GridToXml) auf. Ein eigener Export-Controller ist für den Standardfall nicht nötig.
Welche Spalten exportiert werden
Der Export nutzt exakt dieselbe Spaltenkonfiguration wie das sichtbare Grid - einschließlich der Rating-Spalte aus Kapitel 19, deren Sternchen-String dann aber auch im CSV landet. Für einen numerischen Export-Wert (statt der Sternchen) lässt sich eine Spalte mit <visible>false</visible> im Grid verstecken, aber trotzdem exportieren, indem der zugrunde liegende Rohwert über eine zweite, unsichtbare Spalte bereitgestellt wird.
<column name="rating_raw">
<settings>
<visible>false</visible>
<label translate="true">Rating (numeric)</label>
</settings>
</column>Achtung: visible: false blendet eine Spalte im Grid aus, nimmt sie aber nicht automatisch aus dem Export heraus - Sichtbarkeit im Grid und Teilnahme am Export sind zwei getrennte Einstellungen (visible vs. exportable). Wer eine sensible Spalte (zum Beispiel interne Notizen) im Grid ausblendet, muss sie zusätzlich mit <exportable>false</exportable> auch vom Export ausschließen.
Berechtigung für den Export
Der Export-Controller prüft dieselbe ACL-Ressource wie der übergeordnete Grid - ohne Leserecht auf Mironsoft_Testimonial::testimonial erscheint der Export-Button für die betroffene Rolle gar nicht erst (Kapitel 25 vertieft die ACL-Struktur weiter).
Tipp: Bei großen Grids lohnt sich ein Blick auf die serverseitige Zeilenbegrenzung: Der Export läuft standardmäßig über den kompletten, ungefilterten Datensatz (nicht nur die aktuelle Seite), was bei sehr großen Tabellen zu langen Ladezeiten führen kann - Kapitel 24 geht auf genau dieses Performance-Thema ein.