“Fammi il report regionale delle vendite da sales.csv” è una richiesta a cui un modello linguistico risponde volentieri digitando una tabella Markdown, arrotondando qualche numero e descrivendo un grafico che non può disegnare. Con GroupDocs.Assembly.Mcp in esecuzione locale (dnx GroupDocs.Assembly.Mcp --yes), Claude Desktop, Cursor o Copilot passano il file dati al motore: il tuo modello Word o PowerPoint contiene la tabella, i totali e un vero grafico, e il server li riempie dal CSV o dal foglio di calcolo senza che i numeri passino mai attraverso il modello:
Crea il report regionale delle vendite da sales.xlsx con sales-report.docx come PDF, e la diapositiva del grafico con sales-chart.pptx.
La versione passo‑passo con configurazione e risoluzione dei problemi è nella documentazione: Come creare un report con tabelle e grafici da un file CSV o foglio di calcolo con un agente IA.
Perché i numeri dovrebbero saltare il modello?
Perché un modello è un generatore di testo, e un report è aritmetica più layout. Quando un agente legge un CSV e scrive il report da solo, ogni valore viene riscritto tramite la previsione del token successivo. La maggior parte è corretta. Quello che non lo è rimane invisibile finché qualcuno non lo confronta con la fonte, ed è proprio il lavoro che il report doveva far risparmiare. I grafici sono peggio: il modello può descriverne uno o generare il codice, ma il grafico nella tua presentazione trimestrale è un oggetto in un file PowerPoint, stilizzato da qualcuno del marketing.
Quindi suddividi il lavoro in base a ciò in cui ciascuna parte è brava. Il modello decide l’aspetto del report. Il motore legge il file e fa i calcoli. L’agente sceglie il modello e i dati, e ti comunica il risultato.
Cosa passa l’agente e cosa vede il motore
Ecco la divisione in una tabella:
the agent decides the engine does the template owns
----------------------- ------------------------- -----------------------
which template reads sales.xlsx/.csv the table layout
which data file types the columns the chart and its style
output format (pdf) sums, sorts, picks max headings, fonts, logo
fills table rows, chart what "total" means
Prima di generare, l’agente può esaminare il file dati. Per il nostro foglio di calcolo il server ha segnalato una tabella con tre colonne:
-> get_document_info {"file":{"filePath":"sales.xlsx"}}
<- { "dataKind": "table",
"data": { "tableCount": 1, "tables": [ { "number": 1,
"columns": [ "Region", "Quarter", "Revenue" ] } ] } }
Il report tabellare
Il modello Word contiene una riga di tabella con <<foreach [r in sales]>> nella prima cella e <</foreach>> nell’ultima, più due righe sotto: <<[sales.Sum(r => r.Revenue)]>> e <<[sales.OrderByDescending(r => r.Revenue).First().Region]>>. Una chiamata:
-> assemble_document {"template":{"filePath":"sales-report.docx"},
"data":{"filePath":"sales.xlsx"},"format":"pdf"}
<- Assembled 'sales-report.docx' with 'sales.xlsx' (table 1 (3
column(s): Region, Quarter, Revenue) as 'sales') as PDF
Saved to: .../sales-report_assembled.pdf
Il report contiene quattro righe (North 182000, South 146500, East 98250, West 211900), “Total revenue: 638650 EUR” e “Best region: West”. Il server ha chiamato i dati sales perché è così che il modello itera; nessuno ha dovuto specificarlo. Lo stesso modello con sales.csv ha prodotto gli stessi totali; per i CSV, hasHeaders e csvDelimiter gestiscono file senza riga di intestazione o con punti e virgola.
Il grafico
Un grafico in un modello GroupDocs.Assembly è un grafico ordinario con tag in due posizioni. Il titolo del grafico legge Revenue by region<<foreach [r in sales]>><<x [r.Region]>>: itera sulle righe, una categoria per regione. Il nome della serie legge Revenue<<y [r.Revenue]>>: un valore per riga. I dati segnaposto all’interno del grafico servono solo al designer per visualizzarli.
-> assemble_document {"template":{"filePath":"sales-chart.pptx"},
"data":{"filePath":"sales.xlsx"}}
<- Assembled 'sales-chart.pptx' with 'sales.xlsx' (table 1 (3
column(s): Region, Quarter, Revenue) as 'sales') as PPTX
Saved to: .../sales-chart_assembled.pptx
Abbiamo aperto il risultato: un grafico a colonne intitolato Revenue by region, categorie North, South, East e West, valori 182000, 146500, 98250 e 211900, con i tag rimossi e lo stile del modello intatto. Gli stessi tag funzionano in grafici Word ed Excel.
Perché non chiedere all’agente un’immagine del grafico?
Puoi farlo, e per una risposta occasionale in chat va bene. Per un report ci sono tre problemi: l’immagine è una foto, quindi nessuno può cliccarci sopra per verificare un valore; lo stile è quello predefinito del codice di tracciamento, non il tuo stile aziendale; e i numeri sono passati attraverso il modello. Un grafico modello è un oggetto grafico nativo, riempito dal file, stilizzato una volta da chi possiede il modello.
Limiti onesti
- I tag della tabella e del grafico devono già essere presenti nel modello; l’agente non li progetta.
get_template_fieldsmostra quali dati legge il modello. - Modalità valutazione: ogni output inizia con “Evaluation Only. Created with GroupDocs.Assembly 26.7…”, e le cartelle di lavoro salvate ottengono un foglio aggiuntivo.
- Una lista vuota nei dati non ha tipi di colonna, quindi le operazioni aritmetiche su di essa falliscono, anche con
allowMissingMembers. Verifica che il filtro richiesto restituisca righe. - I modelli di presentazione su Linux richiedono
libgdiplusquando eseguiti tramitednx; l’immagine Docker lo include. - Date nei file dati: mantienile come date o ISO completo con orario, e formattale nel modello.
FAQ
Un agente IA può creare un grafico dal mio CSV senza caricarlo?
Sì. Il server gira localmente, legge il CSV o il foglio di calcolo dalla tua cartella di archiviazione e scrive il report lì; i numeri passano dal file al documento senza attraversare il modello.
Quali file dati può leggere il modello?
JSON, XML, CSV e TSV, e una tabella all’interno di un foglio di calcolo, documento Word o PowerPoint; dataTable sceglie la tabella quando ce ne sono diverse.
Il report può essere un file Excel invece di un PDF?
Sì, usa un modello XLSX; i tag vanno nelle celle del foglio di lavoro. In modalità valutazione la cartella di lavoro salvata ottiene un foglio aggiuntivo.
Approfondisci
- Documentazione, guida canonica: Come creare un report con tabelle e grafici da un file CSV o foglio di calcolo con un agente IA
- Hub della documentazione: GroupDocs.Assembly MCP Server
- Inizia qui: Lascia che il modello riempia i dati, non scriva il documento
- Correlato: Cento PDF personalizzati da un prompt: mail merge con un agente IA
- Correlato: Di cosa ha bisogno questo modello? Chiedilo.
- Correlato: Il tuo repository ha già i dati; lascia che l’agente crei il PDF
- On‑premise e modello di sicurezza: 3 architetture per l’elaborazione di documenti IA, e quella che mantiene i file dentro la tua rete
- Domande: Forum GroupDocs Assembly
- Fonte: GroupDocs.Assembly.Mcp su GitHub