ОченьДлинный – 11-20 предложений
Эта Aspose.Words LINQ Reporting Engine for .NET позволяет разработчикам создавать богатые, основанные на данных отчёты комбинируя синтаксис тегов простого текста с запросами LINQ. Отчёты могут привязываться к коллекциям, базам данных, JSON, XML или пользовательским объектам, при этом фильтрация, группировка и агрегация выполняются непосредственно внутри шаблона. В результате получается полностью заполненный отчёт в форматах Word.
Установка и настройка
- Установите пакет NuGet
Aspose.Words. - Примените вашу лицензию ( Metered Licensing ).
- Добавьте ссылку на
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
- Привязать к коллекциям, 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‑выражения, в отличие от традиционных полей слияния почты.
- Какие источники данных поддерживаются? XML, JSON, CSV, DataTables, Entity Framework и пользовательские объекты .NET.
- Могу ли я встраивать диаграммы и изображения? Да. Шаблоны могут включать диаграммы, штрихкоды и изображения, заполняемые данными.
- Какие форматы я могу выводить? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML и Word 2007 XML.
- Поддерживает ли он локализацию? Да. Поддерживается форматирование с учётом культуры и интеграция ресурсов.