Mail Merge – genera documenti personalizzati con mail merge, combinando modelli e i tuoi dati.
Il Aspose.Words LINQ Reporting Engine for .NET consente agli sviluppatori di creare report ricchi e basati sui dati combinando una sintassi di tag in plain-text con query LINQ. I report possono collegarsi a collezioni, database, JSON, XML o oggetti personalizzati, con filtraggio, raggruppamento e aggregazione eseguiti direttamente all’interno del modello. Il risultato è un report completamente popolato in formati Word.
Installazione e configurazione
- Installa il pacchetto NuGet
Aspose.Words. - Applica la tua licenza ( Licenza a consumo ).
- Aggiungi un riferimento a
Aspose.Wordse assicurati che le dipendenze siano incluse. - Per tutti i passaggi, vedi il Guida all’installazione .
Piattaforme supportate: Windows, Linux e macOS con .NET Framework, .NET o Mono. IDE: Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.
Formati di modello / output supportati: DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML e Word 2007 XML.
Avvio rapido
Crea un report da XML:
using Aspose.Words;
using Aspose.Words.Reporting;
var doc = new Document("ReportTemplate.docx");
var dataSource = new XmlDataSource("Data.xml");
var engine = new ReportingEngine();
engine.BuildReport(doc, dataSource, "data");
doc.Save("Report.Output.docx");Caratteristiche e funzionalità
Sintassi del modello
- Tag come
<<Name>>,<<foreach:Orders>>,<<if:Condition>>sono leggibili dall’uomo. - Supportato nei paragrafi, tabelle, intestazioni e piè di pagina.
Binding dei dati LINQ
- Associa a collezioni, DataTables, EF query, JSON, XML o oggetti personalizzati.
- LINQ inline:
Where,OrderBy,GroupBy, proiezioni.
Filtraggio, raggruppamento e ordinamento
- Blocchi condizionali con
<<if:…>>/<<endif>>. - Raggruppa i dati con
<<groupby:Property>>. - Ordinamento inline con
orderbyclausole.
Funzioni di aggregazione
- Tag incorporati:
<<sum:>>,<<avg:>>,<<count>>,<<min:>>,<<max:>>. - Aggiornamenti automatici quando i set di dati cambiano.
Logica condizionale & Switch
- Usa
<<switch:Expression>>,<<case:Value>>,<<default>>per più scenari. - Semplifica i modelli con layout diversi.
Dati nidificati & gerarchici
- Naviga grafi di oggetti (ad es.,
<<foreach:Order.Items>>). - Crea tabelle/liste nidificate con raggruppamento + condizioni.
Funzioni personalizzate & estensibilità.
- Registra metodi di estensione o gestori per logica personalizzata.
- Esegui formattazione e trasformazioni specializzate.
Eredità dei template
- Definisci i template di base e riutilizzali nei template figlio.
- Mantieni un branding e stili coerenti.
Eventi & Callback
- Collega a
ReportBuildStarted,TagProcessed,ReportBuildFinished. - Aggiungi logging, inserisci grafici/immagini o modifica l’output dinamicamente.
Localizzazione & Internazionalizzazione
- Formatta date, numeri e valute in base alla cultura.
- Integra file di risorse per report multilingue.
FAQ
- In che modo questo differisce da Mail Merge? LINQ Reporting utilizza tag di testo e supporta le espressioni LINQ, a differenza dei tradizionali campi di mail merge.
- Quali fonti di dati sono supportate? XML, JSON, CSV, DataTables, Entity Framework e oggetti personalizzati .NET.
- Posso incorporare grafici e immagini? Sì. I modelli possono includere grafici, codici a barre e immagini popolati dai dati.
- Quali formati posso esportare? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML e Word 2007 XML.
- Supporta la localizzazione? Sì. La formattazione sensibile alla cultura e l’integrazione delle risorse sono supportate.