Excel: Build (array → xlsx)

action_xlsx_build · action · Files & Documents · Available · v1.1.0

Description

Generate an Excel (.xlsx) file from an array of objects. Pipe from DB Query / Loop output, or pass an explicit list. Returns base64 (ready for email attachment) or saves to disk.

⚙️ Configuration parameters

Fields shown in the editor when configuring the node. Generated directly from the NodeDefconfigFields.

FieldTypeRequiredDefaultDescription
sheetName
Nome foglio
expressionnoSheet1
es. Ordini, Cedolini, RighiOrdine
Nome del foglio nel workbook generato. Default "Sheet1".
dataExpression
Sorgente righe (opzionale)
expressionno
{{$node.extract_of.json.lines}}
Espressione che ritorna l'array di oggetti riga (es. {{$node.NomeNodo.json.lines}}). Se vuoto, l'engine usa l'input del nodo precedente. Utile quando il nodo precedente NON è la sorgente dati (es. dopo db_insert_batch che ritorna solo {headerId}).
groupByKey
Raggruppa per (multi-scheda)
stringno
es. supplier_name
Nome del campo per cui raggruppare. Crea UNA SCHEDA Excel per ogni valore distinto. Esempio: groupByKey="supplier_name" → un foglio per fornitore. Lascia vuoto per un singolo foglio con tutte le righe.
columns
Colonne (opzionale)
stringno
data:Data:date_dmy,prezzo:Prezzo:eur_4,sconto:Sconto:percent_2
Sintassi "key:Label:formato,..." (formato è opzionale). Senza formato i valori vengono scritti come arrivano. Formati disponibili (mostrati con LOCALE ITALIANA): • text → testo grezzo (es. codici con zeri iniziali "001234") • integer → 1.234 • number_2 → 1.234,56 • number_4 → 1.234,5678 • eur_2 → 1.234,56 € • eur_4 → 1.234,5678 € • percent_2 → 10,00% • date_dmy → 23-05-2026 • datetime → 23-05-2026 14:30 Esempio Ordini Fornitori: "nr_ordine:NR.ORDINE:text,data:DATA:date_dmy,descr:DESCRIZIONE,qta:QTA:integer,prezzo:PREZZO UNITARIO:eur_4,sconto:SCONTO:percent_2,totale:TOTALE RIGA:eur_2". Il nodo: 1) coerce stringhe italiane "10,50" → numero 10.5; 2) auto-fit larghezza colonne; 3) header bold + sfondo grigio + prima riga frozen; 4) auto-filter su tutte le colonne. Federico-grade out of the box.
freezeHeader
Blocca riga header durante scroll
booleannotrueQuando l'utente scrolla verso il basso, la riga header rimane visibile. Disabilita SOLO se serve compatibilità con un tool antiquato che non gestisce frozen panes.
autoFilter
Aggiungi filtri colonna (frecce dropdown)
booleannotrueAggiunge un menu a tendina su ogni colonna header per filtrare/ordinare. Standard in Excel/LibreOffice. Disabilita per export "scheda stampa" senza interazione.
forceItalianStrings
Forza formato italiano universale (consigliato)
booleannotrueON (default): i valori numerici (€, %, decimali) vengono scritti come STRINGHE già formattate in italiano (es. "1.234,56 €", "0,00%"). Funziona su QUALUNQUE viewer (Excel Android, Google Sheets, Numbers macOS, LibreOffice). Trade-off: perdi ordering/sum numerico Excel-side. OFF: usa numFmt con LCID [$-410]: il viewer deve riconoscere il LCID italiano (Excel Office IT ok, Numbers macOS no, Excel Android no). Lascia ON se il tuo cliente apre il file con Excel mobile, Google Sheets o Numbers.
path
Salva su disco (opzionale)
file-pickerno
es. output/{{$today}}/ordini.xlsx
Path nel sandbox del tenant dove salvare il file. Se vuoto, il file NON viene salvato — l'output ritorna come base64, ideale per allegato Send Email node.

⬆️ Node output

Fields available to downstream nodes via $node.<alias>.json.<field>:

  • path
  • binary
  • fileName
  • sheetName
  • rowsWritten
  • sizeBytes
  • contentType

💡 Configuration example

JSON snippet of the node as it appears in the workflow. Values are derived fromdefaultValue and from required parameters.

{
  "id": "node-action_xlsx_build-1",
  "defId": "action_xlsx_build",
  "label": "Excel: Build (array → xlsx)",
  "config": {
    "sheetName": "Sheet1",
    "freezeHeader": true,
    "autoFilter": true,
    "forceItalianStrings": true
  }
}

🔗 Related nodes in the same category

Ready to use Excel: Build (array → xlsx)?

Available now on all FlowForge plans. Try it free without a credit card.

Start freeBrowse all nodes