Descrizione
Generator enterprise di file Excel formato .xlsx (Office Open XML SpreadsheetML, lo standard Microsoft Excel 2007+ universalmente compatibile con Excel desktop Windows/Mac, Excel Web, LibreOffice Calc, OpenOffice Calc, Google Sheets import, Numbers Mac) — la controparte inversa di action_xlsx_parse, fondamentale per output di report del workflow business verso destinatari non-tecnici che usano Excel come ambiente nativo di consumo dati. Trasforma un array di oggetti JavaScript (pipe naturale da db_query, paginate, listScheduledEvents Calendly, queryDatabase Notion, qualsiasi data source upstream) in un file Excel pronto da scaricare, allegare a email transazionale, archiviare su S3 per long-term compliance, condividere via OneDrive con il team management. Output disponibile in due forme per coprire i pattern d'uso reali: base64 string (pronto per allegato in action_send_email tramite il campo attachments senza dover passare per il filesystem intermedio — il pattern più comune per report inviati via email) oppure save su disco nel sandbox del tenant (scrittura atomica write+rename, pattern per workflow di archivio long-term o per file destinati a download successivo via UI tenant). Customization rich del file output: header row personalizzabile (le intestazioni colonne possono differire dai field name JavaScript — es. "first_name" come field interno ma "Nome" come visualizzazione utente in Excel), formattazione colonne type-aware (numero con decimal places, percentage con simbolo %, valuta con simbolo € e separator italiano "1.234,56", data con formato locale "DD/MM/YYYY", text plain), foglio nominato (default "Sheet1", configurable a "Ordini", "Cedolini", "Riconciliazione" per self-documenting workbook), auto-width colonne basato sul contenuto massimo per evitare il classico "#####" su numeri grossi che non entrano, freeze panes per la prima riga (header always visibile in scroll). Type preservation reverse del parse: number JavaScript → numeric cell Excel (con precision), Date → Excel serial number con timezone preservation, boolean → "TRUE"/"FALSE" string canonica Excel, null → empty cell (no string "null" che inquinerebbe), array/object → JSON serialized in singola cell come string. Cap di sicurezza: max 1M rows per workbook (limit hard Excel), cap su dimensione file output 50MB per evitare OOM su workflow generando file giganti. Output: { binary (handle file pronto per gli attachments), path? (se salvato su disco), fileName, sheetName, rowsWritten, sizeBytes, contentType }. Il contentType è "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet". Use case: report settimanale vendite allegato a email management ogni lunedì 09:00 (trigger_cron + db_query + xlsx_build + send_email con base64 attachment); export ordini CRM HubSpot verso fornitore B2B EDI-less in formato xlsx settimanale con calcolo prezzi netti+IVA; backup quotidiano di tabella DB critica in spreadsheet archiviato su S3 con retention 7 anni per compliance fiscale; generazione di template fattura/preventivo riempito con dati cliente da Odoo per stampa controllo prima emissione SDI; analytics dashboard "scaricabile" per CEO che preferisce Excel a Looker con drill-down formule pivotabili.
