Aspose.Words LINQ Motore di Reporting per .NET
Il **Aspose.Words LINQ Reporting Engine per .NET ** consente agli sviluppatori di creare **richi, rapporti basati sui dati ** combinando una sintax di tag di testo piatto con le domande LINK. Rapporti possono essere collegati a collezioni, database, JSON, XML o oggetti personalizzati, con il filtraggio, il gruppo e l’aggregazione eseguiti direttamente all’interno del modello. Il risultato è un rapporto completamente popolato in DOCX, PDF, HTML, o qualsiasi altro formato supportato da Aspose, Word.
Installazione e Setup
- Installare il pacchetto NuGet
Aspose.Words
. - Applicare la tua licenza ( Licenza a consumo ).
- Aggiungi un riferimento a
Aspose.Words
e garantire che le dipendenze siano incluse. - Per tutti i passaggi, vedi il Guida di installazione .
Piattaforme supportate: Windows, Linux, macOS e OS mobile con .NET Framework, .Net Core,.NET 5/6+, o Mono.IDE: Visual Studio 2010-2022, Xamarin e MonoDevelop.
Inizio rapido: costruire un rapporto 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à
Modello di Syntax
- Tags come
<<Name>>
,<<foreach:Orders>>
,<<if:Condition>>
E’ umano leggibile. - Supporto in paragrafi, tavoli, capolavori e piedi.
Link di collegamento dei dati
- Link a colezioni, DataTables, EF query, JSON, XML, o oggetti personalizzati.
- Il link in linea:
Where
,OrderBy
,GroupBy
, e delle proiezioni.
Filtrare, gruppiare e classificare
- I blocchi condizionali con
<<if:…>>
/<<endif>>
. - I dati di gruppo con
<<groupby:Property>>
. - Ordine in linea con
orderby
delle clausole.
Funzioni di aggregazione
- I tag in costruzione:
<<sum:>>
,<<avg:>>
,<<count>>
,<<min:>>
,<<max:>>
. - Aggiornamento automatico quando i dati cambiano.
Logica Condizionale e Switch
- Utilizzo
<<switch:Expression>>
,<<case:Value>>
,<<default>>
per diversi scenari. - Simplifica i modelli con diversi layout.
Dati Nested e Ierarchici
- Navigare i grafici degli oggetti (ad esempio.,
<<foreach:Order.Items>>
). - Costruisci tabelle/list con gruppi + condizioni.
Funzioni personalizzate ed estensibilità
- Registrazione dei metodi di estensione o degli operatori per la logica personalizzata.
- Eseguire formattazione e trasformazioni specializzate.
Il tempio di eredità
- Definisci i moduli di base e li riutilizzi attraverso i modelli per bambini.
- Mantenere branding e stili coerenti.
Eventi e Callbacks
- Hook In
ReportBuildStarted
,TagProcessed
,ReportBuildFinished
. - Aggiungi logging, iniezioni di diagrammi/immagini o modifica la produzione in modo dinamico.
La localizzazione e l’internazionalismo
- Formatta le date, i numeri, le valute per cultura.
- Integrare i file di risorse per i rapporti multilingue.
FAQ
**Come si differenzia da Mail Merge?**LINQ Reporting utilizza le etichette di testo e supporta le espressioni Linq, a differenza dei tradizionali campi di fusione postale.
**Quali fonti di dati sono supportate?**XML, JSON, CSV, DataTables, Entity Framework e oggetti .NET personalizzati.
**Posso inserire schede e immagini?**I template possono includere grafici, barcodi e immagini popolate dai dati.
**Quali formati posso eseguire?**DOCX, PDF, HTML, RTF, ODT e tutti i formati supportati da Aspose.Words.
**Supporta la localizzazione?**Sì, la formattazione culturale e l’integrazione delle risorse sono supportati.