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

  1. Installa il pacchetto NuGet Aspose.Words.
  2. Applica la tua licenza ( Licenza a consumo ).
  3. Aggiungi un riferimento a Aspose.Words e assicurati che le dipendenze siano incluse.
  4. 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 orderby clausole.

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

  1. 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.
  2. Quali fonti di dati sono supportate? XML, JSON, CSV, DataTables, Entity Framework e oggetti personalizzati .NET.
  3. Posso incorporare grafici e immagini? Sì. I modelli possono includere grafici, codici a barre e immagini popolati dai dati.
  4. Quali formati posso esportare? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML e Word 2007 XML.
  5. Supporta la localizzazione? Sì. La formattazione sensibile alla cultura e l’integrazione delle risorse sono supportate.
 Italiano