Aspose.Words LINQ Reporting Engine für .NET
Der Aspose.Words LINQ Reporting Engine für .NET erlaubt Entwicklern, rich, Daten-driven Berichte zu erstellen, indem sie eine reine Text-Tags-Syntax mit LinQ Queries kombinieren. Reports können auf Sammlungen, Databasen, JSON, XML oder benutzerdefinierte Objekte, mit Filterung, Gruppierung und Aggregation direkt innerhalb des Templates durchgeführt werden.
Installation und Setup
- Installieren Sie das NuGet-Paket
Aspose.Words
. - Anmelden Sie Ihre Genehmigung ( Metered Licensing ).).
- Ein Hinweis hinzufügen zu
Aspose.Words
und sicherzustellen, dass Abhängigkeiten aufgenommen werden. - Für die vollständigen Schritte, sehen Sie die Installationsguide .
Unterstützte Plattformen: Windows, Linux, macOS und mobile OS mit .NET Framework, .NET Core,.NET 5/6+, oder Mono.IDEs: Visual Studio 2010–2022, Xamarin, MonoDevelop.
Schneller Start: Erstellen eines Berichts aus 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");
Eigenschaften und Funktionalität
Modelle Syntax
- Tags wie
<<Name>>
,<<foreach:Orders>>
,<<if:Condition>>
ist menschlich lesbar. - Unterstützt in Absätzen, Tabellen, Header und Füßen.
LINQ Datenverbindung
- Binden Sie sich an Kollektionen, DataTables, EF Queries, JSON, XML oder benutzerdefinierte Objekte.
- Die Inline Link:
Where
,OrderBy
,GroupBy
, und Prognosen.
Filterung, Gruppierung und Sortierung
- Bedingte Blöcke mit
<<if:…>>
/<<endif>>
. - Gruppendaten mit
<<groupby:Property>>
. - Inline Bestellungen mit
orderby
Die Bestimmungen.
Aggregationsfunktionen
- In den tags eingerichtet:
<<sum:>>
,<<avg:>>
,<<count>>
,<<min:>>
,<<max:>>
. - Auto-Updates, wenn die Datensätze sich ändern.
Bedingungen & Switch Logik
- Use
<<switch:Expression>>
,<<case:Value>>
,<<default>>
für mehrere Szenarien. - Vereinfachen Sie die Template mit verschiedenen Layouts.
Nested & Hierarchische Daten
- Navigieren von Objektgrafen (z. B.,
<<foreach:Order.Items>>
).). - Erstellen Sie Nested Tabellen/Listen mit Gruppierung + Bedingungen.
Anpassungsfunktionen und Erweiterbarkeit
- Registrierung von Erweiterungsmethoden oder Handlern für angepasste Logik.
- Durchführen Sie spezialisierte Formatering und Transformationen.
Template Erbe
- Definieren Sie die Basis-Template und verwenden Sie sie über Kinder-Semplates neu.
- Bewahren Sie konsequent Branding und Stile.
Veranstaltungen & Callbacks
- Hook In
ReportBuildStarted
,TagProcessed
,ReportBuildFinished
. - Logging hinzufügen, Diagramme / Bilder injizieren oder die Ausgabe dynamisch ändern.
Lokalisierung und Internationalisation
- Format Datum, Zahlen, Währungen nach Kultur.
- Integrieren Sie Ressourcendateien für mehrsprachige Berichte.
FAQ
**Wie unterscheidet sich das von Mail Merge?**LINQ Reporting verwendet Textzeichen und unterstützt Linq-Ausdrücke, im Gegensatz zu traditionellen E-Mail-Fusionfeldern.
**Welche Datenquellen werden unterstützt?**XML, JSON, CSV, DataTables, Entity Framework und benutzerdefinierte .NET Objekte.
**Kann ich Charts und Bilder einfügen?**Templates können Charts, Barcodes und Bilder enthalten, die aus Daten populiert werden.
**Welche Formate kann ich ausführen?**DOCX, PDF, HTML, RTF, ODT und alle von Aspose.Words unterstützten Formate.
**Unterstützt es die Lokalisierung?**Kulturbewusstsein-Formatierung und Ressourcenintegration werden unterstützt.