Mail Merge – створюйте персоналізовані документи за допомогою злиття листів, поєднуючи шаблони та ваші дані.

Це 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. IDEs: 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-логіка

  • Використовуйте <<switch:Expression>>, <<case:Value>>, <<default>> для кількох сценаріїв.
  • Спрощує шаблони з різними макетами.

Вкладені & ієрархічні дані

  • Навігація по графах об’єктів (наприклад,., <<foreach:Order.Items>>).
  • Створює вкладені таблиці/списки з групуванням + умовами.

Користувацькі функції та розширюваність

  • Реєструє методи розширень або обробники для користувацької логіки.
  • Виконує спеціалізоване форматування та трансформації.

Наслідування шаблонів

  • Визначте базові шаблони та використовуйте їх у дочірніх шаблонах.
  • Зберігайте послідовний брендинг і стилі.

Події & Зворотні виклики

  • Підключитися до ReportBuildStarted, TagProcessed, ReportBuildFinished.
  • Додати журналювання, вставляти діаграми/зображення або динамічно змінювати вихідні дані.

Локалізація та інтернаціоналізація

  • Форматувати дати, числа, валюти відповідно до культури.
  • Інтегрувати файли ресурсів для багатомовних звітів.

FAQ

  1. Чим це відрізняється від Mail Merge? LINQ Reporting використовує текстові теги і підтримує вирази LINQ, на відміну від традиційних полів mail merge.
  2. Які джерела даних підтримуються? XML, JSON, CSV, DataTables, Entity Framework та кастомні .NET об’єкти.
  3. Чи можу я вбудовувати діаграми та зображення? Так. Шаблони можуть включати діаграми, штрихкоди та зображення, заповнені даними.
  4. Які формати я можу виводити? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, і Word 2007 XML.
  5. Чи підтримується локалізація? Так. Підтримується форматування, орієнтоване на культуру, та інтеграція ресурсів.
 Українська