Mittel – 5-6 Sätze
Der Aspose.Words LINQ Reporting Engine for .NET ermöglicht Entwicklern, zu erstellen umfangreiche, datengetriebene Berichte indem eine reine Text-Tag-Syntax mit LINQ-Abfragen kombiniert wird. Berichte können an Sammlungen, Datenbanken, JSON, XML oder benutzerdefinierte Objekte gebunden werden, wobei Filterung, Gruppierung und Aggregation direkt innerhalb der Vorlage durchgeführt werden. Das Ergebnis ist ein vollständig ausgefüllter Bericht in Word-Formate.
Installation und Einrichtung
- Installieren Sie das NuGet-Paket
Aspose.Words. - Wenden Sie Ihre Lizenz an ( Metered Licensing ).
- Füge einen Verweis zu
Aspose.Wordsund stelle sicher, dass Abhängigkeiten eingeschlossen sind. - Für vollständige Schritte siehe die Installationsanleitung .
Unterstützte Plattformen: Windows, Linux und macOS mit .NET Framework, .NET oder Mono. IDEs: Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.
Unterstützte Vorlagen-/Ausgabeformate: DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML und Word 2007 XML.
Schnellstart
Erstellen Sie einen Bericht 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");Funktionen und Funktionalität
Vorlagensyntax
- Tags wie
<<Name>>,<<foreach:Orders>>,<<if:Condition>>sind menschenlesbar. - Unterstützt in Absätzen, Tabellen, Kopfzeilen und Fußzeilen.
LINQ-Datenbindung
- Binden an Sammlungen, DataTables, EF Abfragen, JSON, XML oder benutzerdefinierte Objekte.
- Inline-LINQ:
Where,OrderBy,GroupBy, Projektionen.
Filtern, Gruppieren & Sortieren
- Bedingte Blöcke mit
<<if:…>>/<<endif>>. - Daten gruppieren mit
<<groupby:Property>>. - Inline-Sortierung mit
orderbyKlauseln.
Aggregationsfunktionen
- Eingebaute Tags:
<<sum:>>,<<avg:>>,<<count>>,<<min:>>,<<max:>>. - Automatische Updates, wenn sich Datensätze ändern.
Bedingte & Switch-Logik
- Verwenden
<<switch:Expression>>,<<case:Value>>,<<default>>für mehrere Szenarien. - Vereinfacht Vorlagen mit unterschiedlichen Layouts.
Verschachtelte & hierarchische Daten
- Navigieren Sie Objektgraphen (z. B.,).,
<<foreach:Order.Items>>). - Erstellt verschachtelte Tabellen/Listen mit Gruppierung + Bedingungen.
Benutzerdefinierte Funktionen & Erweiterbarkeit
- Registriert Erweiterungsmethoden oder Handler für benutzerdefinierte Logik.
- Führt spezialisierte Formatierungen und Transformationen durch.
Vorlagenvererbung
- Definieren Sie Basistemplates und verwenden Sie sie in Kindtemplates wieder.
- Bewahren Sie ein konsistentes Branding und einheitliche Stile.
Ereignisse & Rückrufe
- Einbinden
ReportBuildStarted,TagProcessed,ReportBuildFinished. - Logging hinzufügen, Diagramme/Bilder einfügen oder die Ausgabe dynamisch ändern.
Lokalisierung & Internationalisierung
- Datums-, Zahlen- und Währungsformate nach Kultur formatieren.
- Ressourcendateien für mehrsprachige Berichte integrieren.
FAQ
- Wie unterscheidet sich das von Mail Merge? LINQ Reporting verwendet Text-Tags und unterstützt LINQ-Ausdrücke, im Gegensatz zu herkömmlichen Mail Merge-Feldern.
- Welche Datenquellen werden unterstützt? XML, JSON, CSV, DataTables, Entity Framework und benutzerdefinierte .NET-Objekte.
- Kann ich Diagramme und Bilder einbetten? Ja. Vorlagen können Diagramme, Barcodes und aus Daten gefüllte Bilder enthalten.
- Welche Formate kann ich ausgeben? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML und Word 2007 XML.
- Unterstützt es die Lokalisierung? Ja. Kulturabhängige Formatierung und Ressourcenintegration werden unterstützt.