Rozpoczęcie
Ten Aspose.Words LINQ Reporting Engine for .NET pozwala programistom tworzyć bogate, oparte na danych raporty poprzez połączenie składni tagów w zwykłym tekście z zapytaniami LINQ. Raporty mogą być powiązane z kolekcjami, bazami danych, JSON, XML lub obiektami niestandardowymi, przy czym filtrowanie, grupowanie i agregacja są wykonywane bezpośrednio w szablonie. Wynikiem jest w pełni wypełniony raport w formaty Word.
Instalacja i konfiguracja
- Zainstaluj pakiet NuGet
Aspose.Words. - Zastosuj swoją licencję ( Licencjonowanie rozliczane ).
- Dodaj odwołanie do
Aspose.Wordsi upewnij się, że zależności są uwzględnione. - Aby zobaczyć pełne kroki, zobacz Przewodnik instalacji .
Obsługiwane platformy: Windows, Linux i macOS z .NET Framework, .NET lub Mono. IDE: Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.
Obsługiwane formaty szablonów / wyjściowe: DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML oraz Word 2007 XML.
Szybki start
Utwórz raport z 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");Funkcje i możliwości
Składnia szablonu
- Tagi takie jak
<<Name>>,<<foreach:Orders>>,<<if:Condition>>są czytelne dla człowieka. - Obsługiwane w akapitach, tabelach, nagłówkach i stopkach.
Powiązanie danych LINQ
- Powiąż z kolekcje, DataTables, EF zapytania, JSON, XML lub własne obiekty.
- LINQ w linii:
Where,OrderBy,GroupBy, projekcje.
Filtrowanie, grupowanie i sortowanie
- Bloki warunkowe z
<<if:…>>/<<endif>>. - Grupuj dane za pomocą
<<groupby:Property>>. - Sortowanie w linii za pomocą
orderbyklauzule.
Funkcje agregujące
- Wbudowane tagi:
<<sum:>>,<<avg:>>,<<count>>,<<min:>>,<<max:>>. - Automatyczne aktualizacje, gdy zestawy danych ulegają zmianie.
Logika warunkowa & przełączania
- Użyj
<<switch:Expression>>,<<case:Value>>,<<default>>dla wielu scenariuszy. - Upraszcza szablony o różnych układach.
Zagnieżdżone & hierarchiczne dane
- Nawiguj po grafach obiektów (np.,).,
<<foreach:Order.Items>>). - Twórz zagnieżdżone tabele/listy z grupowaniem + warunkami.
Niestandardowe funkcje & rozszerzalność
- Zarejestruj metody rozszerzeń lub obsługujące niestandardową logikę.
- Wykonuj specjalistyczne formatowanie i transformacje.
Dziedziczenie szablonów
- Zdefiniuj szablony bazowe i używaj ich ponownie w szablonach potomnych.
- Utrzymuj spójną identyfikację wizualną i style.
Zdarzenia & wywołania zwrotne
- Podłącz się do
ReportBuildStarted,TagProcessed,ReportBuildFinished. - Dodaj logowanie, wstaw wykresy/obrazy lub modyfikuj wyjście dynamicznie.
Lokalizacja i internacjonalizacja
- Formatuj daty, liczby i waluty zgodnie z kulturą.
- Zintegruj pliki zasobów dla wielojęzycznych raportów.
FAQ
- Jak to różni się od Mail Merge? LINQ Reporting używa znaczników tekstowych i obsługuje wyrażenia LINQ, w przeciwieństwie do tradycyjnych pól scalania korespondencji.
- Jakie źródła danych są obsługiwane? XML, JSON, CSV, DataTables, Entity Framework oraz niestandardowe obiekty .NET.
- Czy mogę osadzać wykresy i obrazy? Tak. Szablony mogą zawierać wykresy, kody kreskowe i obrazy wypełniane danymi.
- Jakie formaty mogę generować? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML i Word 2007 XML.
- Czy obsługuje lokalizację? Tak. Formatowanie zależne od kultury i integracja zasobów są obsługiwane.