Средно – 5-6 изречения
Този Aspose.Words LINQ Reporting Engine for .NET позволява на разработчиците да създават богати, данни‑ориентирани отчети чрез комбиниране на синтаксис за тагове в чист текст с LINQ заявки. Отчетите могат да се свързват с колекции, бази данни, JSON, XML или персонализирани обекти, като филтриране, групиране и агрегация се извършват директно в шаблона. Резултатът е напълно попълнен отчет в Word формати.
Инсталиране и настройка
- Инсталирайте NuGet пакета
Aspose.Words. - Прилагайте вашия лиценз ( Лицензиране с измерване ).
- Добавете препратка към
Aspose.Wordsи уверете се, че зависимостите са включени. - За пълните стъпки, вижте Ръководство за инсталиране .
Поддържани платформи: Windows, Linux и macOS с .NET Framework, .NET или Mono. IDE‑та: Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.
Поддържани шаблони / изходни формати: DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, и Word 2007 XML.
Бърз старт
Създайте отчет от 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");Функции и възможности
Синтаксис на шаблона
- Тагове като
<<Name>>,<<foreach:Orders>>,<<if:Condition>>са четими за хора. - Поддържа се в параграфи, таблици, заглавия и колонтитули.
LINQ Data Binding
- Свързване с колекции, DataTables, EF запитвания, JSON, XML или персонализирани обекти.
- Вграден LINQ:
Where,OrderBy,GroupBy, проекции.
Филтриране, групиране и сортиране
- Условни блокове с
<<if:…>>/<<endif>>. - Групиране на данни с
<<groupby:Property>>. - Вградено подреждане с
orderbyклаузи.
Функции за агрегация
- Вградени тагове:
<<sum:>>,<<avg:>>,<<count>>,<<min:>>,<<max:>>. - Автоматични актуализации, когато наборите от данни се променят.
Условна & логика за превключване
- Използвайте
<<switch:Expression>>,<<case:Value>>,<<default>>за множество сценарии. - Опростява шаблони с различни оформления.
Вложени & Йерархични данни
- Навигирайте обектни графи (например,.,
<<foreach:Order.Items>>). - Създавайте вложени таблици/списъци с групиране + условия.
Персонализирани функции & разширяемост
- Регистрирайте разширителни методи или обработващи функции за персонализирана логика.
- Извършвайте специализирано форматиране и трансформации.
Наследяване на шаблони
- Определете базови шаблони и ги използвайте отново в дъщерните шаблони.
- Поддържайте последователно брандиране и стилове.
Събития & обратни извиквания
- Прикачете се към
ReportBuildStarted,TagProcessed,ReportBuildFinished. - Добавете логиране, вмъкнете диаграми/изображения или променяйте изхода динамично.
Локализация & интернационализация
- Форматирайте дати, числа и валути според културата.
- Интегрирайте ресурсни файлове за многоезични отчети.
FAQ
- Как се различава това от Mail Merge? LINQ Reporting използва текстови тагове и поддържа LINQ изрази, за разлика от традиционните полета за mail merge.
- Какви източници на данни се поддържат? XML, JSON, CSV, DataTables, Entity Framework и персонализирани .NET обекти.
- Мога ли да вмъквам диаграми и изображения? Да. Шаблоните могат да включват диаграми, баркодове и изображения, попълнени от данни.
- Кои формати мога да изведа? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, and Word 2007 XML.
- Поддържа ли локализация? Да. Форматиране, съобразено с културата, и интеграция на ресурси се поддържат.