Warum das wichtig ist
Vorlagen werden automatisch befüllt. Keine manuelle Pflege mehr – egal ob 10 oder 10.000 Zeilen.
Alle Felder kommen aus einer Quelle: Pimcore. Identische Ergebnisse – bei jedem Lauf.
Templates einmal definieren, beliebig oft erzeugen. Ideal für Partner-Updates & saisonale Listen.
Platzhalter wie {{ Produktnummer }} oder {{ loc:Name }} direkt im Sheet. Zeilen-Offset frei wählbar (z. B. Start in Zeile 4).
Mehrere Blätter in einer Datei füllen (z. B. Produkte, Bilder, Preise). Jedes Sheet hat eigene Platzhalter und Startzeilen.
Alle Datensätze werden untereinander in dieselbe Tabelle geschrieben – ideal für Partnerlisten & Exporte.
Aus Spalten werden Zeilen: Produktnummer, Attribut, Wert. Perfekt für BI-Pipelines & universelle Mappings.
Berechnungen in Zellen: {{ func:(Preis * 1.19) }} oder {{ func:(concat(Name,' ',Variante)) }}. Aktivierbar mit --expr.
Praxisbeispiel: Amazon Flatfile
Amazon erwartet vordefinierte Excel-Sheets mit festen Spalten. Unser Modul befüllt die Vorlage automatisch – exakt nach Ihren Pimcore-Daten.
Template – Kopfzeile & Platzhalter
Sheet "Produkte", Zeile 1:
SKU;Title;Brand;Price;Weight
Zeile 4 (Start):
{{ Produktnummer }};{{ loc:Webtitel }};{{ Marke }};{{ Preis }};{{ Gewicht }}
Startzeile frei wählbar – z. B. oberhalb Platz für Hinweise & Formatierungen.
Generierung – Beispiel
# Windows
php bin/console exporter:xlsx produktexport.json C:\out\amazon.xlsx ^
--xlsx-template C:\tpl\amazon-flatfile.xlsx ^
--xlsx-sheet Produkte --xlsx-append --expr
# Linux/Mac
php bin/console exporter:xlsx produktexport.json /out/amazon.xlsx \
--xlsx-template /tpl/amazon-flatfile.xlsx \
--xlsx-sheet Produkte --xlsx-append --expr
Ergebnis: Upload-fertige Amazon-Datei – ohne manuelles Kopieren.
Beispiel-Aufrufe
Example commands
1) Append-Modus (eine Liste)
php bin/console exporter:xlsx products.json out.xlsx \
--xlsx-template tpl/report.xlsx \
--xlsx-sheet Daten --xlsx-append --expr --list-sep "|"
2) One-Pager pro Datensatz (Sheet-Duplikation)
php bin/console exporter:xlsx product_one.json out.xlsx \
--xlsx-template tpl/onepager.xlsx \
--xlsx-sheet Daten
3) Pivot-Liste (Attribute → Zeilen)
php bin/console exporter:xlsx products.json pivot.xlsx \
--xlsx-template tpl/pivot.xlsx \
--xlsx-pivot "Produktnummer,Preis,Gewicht,Name" \
--xlsx-pivot-sheet Pivot
4) Multi-Sheet befüllen
php bin/console exporter:xlsx products.json out.xlsx \
--xlsx-template tpl/multisheet.xlsx \
--xlsx-sheets "Produkte:4,Preise:2,Bilder:6" \
--xlsx-append
--xlsx-sheets definiert Startzeilen je Sheet (hier: Produkte ab Zeile 4, Preise ab 2, Bilder ab 6).
Wichtige Optionen
Key options
--xlsx-template <file.xlsx>– Excel-Vorlage mit Platzhaltern.--xlsx-sheet <Name>– einzelnes Sheet in der Vorlage (Append oder Duplikation).--xlsx-sheets "Sheet:StartRow,..."– mehrere Sheets mit Startzeilen (Append).--xlsx-append– Datensätze untereinander in dasselbe Sheet schreiben.--xlsx-pivot "<Felder>"– Pivot-Export (Spalten → Zeilen) mit Attributauswahl.--xlsx-pivot-sheet <Name>– Ziel-Sheet für Pivot.--expr– Expressions in Zellen aktivieren, z. B.{{ func:(Preis*1.19) }}.--list-sep "|"– Trenner für Mehrfachwerte aus Pimcore (Standard:|).
Platzhalter – Beispiele
Placeholders – examples
{{ Produktnummer }}
{{ loc:Name }}
{{ func:(Preis * 1.19) }}
{{ func:(concat(Name, ' ', Variante)) }}
Beliebige Felder aus dem Export-Profil können verwendet werden (inkl. lokalisierter Felder mit loc:).
Unterstützt ihr mehrere Partner-Templates?
Multiple partner templates?
Ja. Legen Sie für jeden Partner eine Vorlage an (Multi-Sheet möglich) und generieren Sie alle Dateien in einem Lauf.
Starten die Daten auch in Zeile 4?
Can data start at row 4?
Ja. Startzeilen sind pro Sheet frei definierbar – ideal für Kopfbereiche mit Hinweisen/Formaten.