Skip to end of metadata
Go to start of metadata

Diese Seite beschreibt Funktionen eines Spreadsheet-Objektes mit den dazugehörigen Objekten für Zeilen (Row) und Spalten (Col).
Diese Funktionen sind in der Regel im SpreadsheetMapper anwendbar oder in allen anderen Steps, die Freemarker-Skripte verarbeiten wie z.B. der TextHtmlWriter.

SpreadsheetFunktionAttributeRückgabewertBeispiel
getName()Gibt den Namen des Spreadsheets aus.-string
getNumberHeaderCols()Gibt die Anzahl der Spalten in der Kopfzeile aus.-int
Anzahl Spalten des Spreadsheet: ${myspreadsheet.getNumberHeaderCols()}
getHeader()Gibt das Zeilenobjekt (siehe Row) der Kopfzeile zurück.-Row
Listet alle Spaltentitel Semikolon-getrennt auf
${myspreadsheet.getHeader()?join(";")}
Listet alle Spaltentitel auf, die mit "price_" beginnen
${myspreadsheet.getHeader().getCols()?filter(headercol -> headercol.title?starts_with("price_"))?join(";")}
<#if myspreadsheet.getHeader().getCols()?seq_contains("description")>Ja Spalte "description" ist enthalten<#else>Nein, nicht gefunden</#if>

Kurzschreibweise:

Statt .getHeader().getCols() kann man auch .header.cols schreiben.

hasRows()Gibt true zurück wenn das Spreadsheet mindestens eine (Daten-)Zeile enthält  -boolean
<#if !spreadsheet@SearchMasterDatastore_1.hasRows()>Das Spreadsheet ist leer bzw. hat keine Datenzeilen.
</#if>
<#if !(spreadsheet@SearchMasterDatastore_1?? && spreadsheet@SearchMasterDatastore_1.hasRows())>
Das Spreadsheet ist leer oder existiert nicht. 
</#if>

firstRow(String columnName)Gibt die angegebene Spalte (columnName) aus der ersten Zeile des Spreadsheet zurückstringCol
Wert der Spalte "status" der ersten Zeile: ${output@SpreadsheetUrlDownload_2.firstRow("status")!}

Gibt den Wert der Spalte "Status" in der ersten Zeile aus.

firstRow(String columnName, String defaultValue);Wie firstRow(String columnName), gibt aber den defaultValue aus, falls die Spalte nicht vorhanden iststring, stringstring
Wert der Spalte "status" der ersten Zeile: ${output@SpreadsheetUrlDownload_2.firstRow("status", "open")!}

Gibt den Wert der Spalte "Status" in der ersten Zeile aus. Falls der Wert leer ist oder nicht existiert, wird der Default-Wert "open" zurück gegeben.

meta.map@KeyValueSpreadsheet.get(String Key)Gibt aus einem vorher erstellen KeyValueSpreadsheet, den Value des angegeben Keys zurückstringstring
Wert des Key1 aus KeyValueSpreadsheet1:
${meta.map@KeyValueSpreadsheet_1.get(Key1)}
Row

getCols()

Gibt alle Spalten der Zeile zurück.-ColumnList
bzw.
List<Col>
${row.getCols()?join(",")}

Fügt alle Spaltenwerte kommasepariert zusammen. 

${row.getCols()?filter(col -> col.getTitle()!?starts_with('price'))?join(",")}

Fügt alle Spaltenwerte kommasepariert zusammen, von Spalten, deren Titel mit dem Wort "price" beginnt. 

getRowNumber()

Gibt die aktuelle Zeilennumer aus.-int
Aktuelle Zeilennummer: ${row.getRowNumber()}
get(String headerColName)Gibt den Spaltenwert anhand des Spaltennamens aus.stringstring
Der Wert der Spalte 'status' ist: ${row.get("status")!}
isValid()Prüft ob alle Spalten entsprechend der Schema-Definition valide sind-boolean
<#list spreadsheet@SearchMasterDatastore_1.getRows() as row>
 <#if row.isValid()>
	Alle Spalten entsprechend dem im Datastore-Schema definierten Regeln (z.B. Pflichtfeld, Reg-Ex, Erlaubte Werte...)
 </#if>
</#list>

parent(String columnName)

Gibt die angegebene Spalte aus der Parentzeile (falls vorhanden) zurück.stringCol

Dies funktioniert nur bei Variant-Zeilen, die aus einem Datastore per SearchDatastore Step kommen. 

Siehe auch Auf Relationen zugreifen und Datastores - HierarchischeDaten.

${parent['columnname']!} - greift auf eine Spalte der Parent-Zeile zu
<#if row.parent()??>ja, ist Variante, weil Parent vorhanden<#else>Nein, ist keine Variante, da kein Parent vorhanden</#if>
master(String columnName)Gibt die angegebene Spalte aus der Master-Zeile (falls vorhanden) zurück. stringCol

Dies funktioniert nur bei Zeilen, die aus einem Child-Datastore per SearchDatastore Step kommen. 

Siehe auch Auf Relationen zugreifen und Datastores - HierarchischeDaten.

${master['columnname']!} - greift auf eine Spalte der Master-Zeile zu
<#if row.master()??>ja, ist Child-Zeile, weil Master vorhanden<#else>Nein, ist keine Child-Zeile, da kein Master vorhanden</#if>

variants()Gibt alle Varianten-Zeilen (sofern vorhanden) der aktuellen Parent-Zeile zurück.
List<Row>

Dies funktioniert nur bei Zeilen, die aus einem Datastore per SearchDatastore Step kommen.

Siehe auch Auf Relationen zugreifen und Datastores - HierarchischeDaten.

<#if (row.variants()?? && row.variants()?size > 0)>Diese Parentzeile hat ${row.variants()?size} Variantenzeilen<#else>Keine Variantenzeile vorhanden</#if>
<#if (row.variants()?? && row.variants()?size > 0)>
  
  <#list row.variants() as v>
    ${v.get('artikelnummer')!} -
  </#list>
  
</#if>
children()Gibt alle Child-Zeilen (sofern vorhanden) der aktuellen Master-Zeile zurück.

Dies funktioniert nur bei Zeilen, die aus einem Master-Datastore per SearchDatastore Step kommen und wenn es zu diesem Master-Datastore auch einen verknüpften Child-Datastore gibt. 

Siehe auch Auf Relationen zugreifen und Datastores - HierarchischeDaten.

<#if (row.children()?? && row.children()?size > 0)>Diese Masterzeile hat ${row.children()?size} Children<#else>Keine Children vorhanden</#if>
<#if (row.children()?? && row.children()?size > 0)>
  
  <#list row.children() as c>
    ${c.get('artikelnummer')!} -
  </#list>
  
</#if>
getSpreadsheet()Gibt das Spreadsheet-Objekt (siehe Spreadsheet) zurück, zu dem die aktuelle Zeile gehört. 
Spreadsheet
Col
get()Gibt den Textwert einer Spalte-string
${brandname.get()} ist das gleiche wie die Kurzform ${brandname!}. Das Ausrufezeichen am Ende sorgt dafür dass ein evtl. Null-Wert mit einem leeren String ("") ausgegeben wird.
get(String defaultValue)Wie get(), aber es wird der defaultValue ausgegeben, falls der Wert leer ist stringstring
${brandname.get("foo")} ist das gleiche wie die Kurzform ${brandname!"foo"}. Das Ausrufezeichen am Ende sorgt dafür dass ein evtl. Null-Wert mit einem leeren String ("") ausgegeben wird.
getTitle()Gibt den Spaltentitel aus.-string
${mycolumn.getTitle()}
getHeaderCol()Gibt die dazugehörigen  Kopfspalte aus.-Col
${mycolumn.getHeaderColumn().get()} ist das gleiche wie ${mycolumn.getTitle()!}
getRow()Gibt das Zeilenobjekt (siehe Row) zurück, zu der die Spalte gehört.
Row
Aktuelle Zeilennummer: ${mycolumn.getRow().getRowNumber()}

Fehlen Ihnen Beispiele?

Sollten Ihnen Beispiele fehlen, dann kontaktieren Sie uns gern über unseren Support oder schreiben eine Nachricht im Forum.

  • No labels