ОченьДлинный – 11-20 предложений

Эта Aspose.Words LINQ Reporting Engine for .NET позволяет разработчикам создавать богатые, основанные на данных отчёты комбинируя синтаксис тегов простого текста с запросами LINQ. Отчёты могут привязываться к коллекциям, базам данных, JSON, XML или пользовательским объектам, при этом фильтрация, группировка и агрегация выполняются непосредственно внутри шаблона. В результате получается полностью заполненный отчёт в форматах Word.

Установка и настройка

  1. Установите пакет NuGet Aspose.Words.
  2. Примените вашу лицензию ( Metered Licensing ).
  3. Добавьте ссылку на Aspose.Words и убедитесь, что зависимости включены.
  4. Для полного списка шагов см. Руководство по установке .

Поддерживаемые платформы: 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

  1. Чем это отличается от Mail Merge? LINQ Reporting использует текстовые теги и поддерживает LINQ‑выражения, в отличие от традиционных полей слияния почты.
  2. Какие источники данных поддерживаются? XML, JSON, CSV, DataTables, Entity Framework и пользовательские объекты .NET.
  3. Могу ли я встраивать диаграммы и изображения? Да. Шаблоны могут включать диаграммы, штрихкоды и изображения, заполняемые данными.
  4. Какие форматы я могу выводить? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML и Word 2007 XML.
  5. Поддерживает ли он локализацию? Да. Поддерживается форматирование с учётом культуры и интеграция ресурсов.
 Русский