Mail Merge – створюйте персоналізовані документи за допомогою злиття листів, поєднуючи шаблони та ваші дані.
Це 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. 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
- Чим це відрізняється від Mail Merge? LINQ Reporting використовує текстові теги і підтримує вирази LINQ, на відміну від традиційних полів mail merge.
- Які джерела даних підтримуються? XML, JSON, CSV, DataTables, Entity Framework та кастомні .NET об’єкти.
- Чи можу я вбудовувати діаграми та зображення? Так. Шаблони можуть включати діаграми, штрихкоди та зображення, заповнені даними.
- Які формати я можу виводити? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, і Word 2007 XML.
- Чи підтримується локалізація? Так. Підтримується форматування, орієнтоване на культуру, та інтеграція ресурсів.