Генерація Word з шаблону в C#

Автоматизація генерації документів є важливою для бізнесу, який прагне створювати динамічні звіти, рахунки-фактури та листи. З Aspose.Words Mail Merge для .NET ви можете ефективно заповнювати шаблони Word даними з різних джерел, включаючи об’єкти, CSV, JSON та XML. Цей посібник проведе вас через використання злиття пошти в C# для спрощених та автоматизованих робочих процесів документів, зосереджуючи увагу на динамічному створенні документів Word за допомогою C# .NET.


Теми, що розглядаються:


Огляд злиття пошти для .NET

Aspose.Words Mail Merge для .NET дозволяє розробникам генерувати персоналізовані документи з попередньо визначених шаблонів, що містять поля злиття. Цей плагін призначений для безперебійної інтеграції в середовищах .NET, пропонуючи можливості для:

  • Динамічного заповнення шаблонів даними, підтримуючи генерацію документів Word для .NET framework.
  • Ефективного виконання масової генерації документів, використовуючи рішення злиття пошти для .NET для великих наборів даних.
  • Забезпечення послідовного форматування у виходах, покращуючи найкращі практики шаблонів документів Word C#.

Ключові особливості:

  1. Підтримка кількох джерел: Використовуйте дані з об’єктів, баз даних, XML, JSON та CSV для створення налаштованих документів Word за допомогою C#.
  2. Висока продуктивність: Ефективно обробляйте великі набори даних та масові операції для динамічної генерації документів Word з .NET Core.
  3. Налаштовувані шаблони: Створюйте шаблони з заповнювачами для вставки даних, використовуючи можливості автоматизації злиття пошти Word для .NET.

Налаштування

Щоб почати, встановіть Aspose.Words за допомогою NuGet:

PM> Install-Package Aspose.Words

Генерація документа Word з шаблону за допомогою об’єктів C#

Давайте почнемо з заповнення шаблону Word за допомогою об’єктів C#. Ми створимо документ Word (DOC/DOCX) з такими заповнювачами:

<<[sender.Name]>> каже: "<<[sender.Message]>>."

У цьому прикладі sender є екземпляром класу, який ми будемо використовувати для заповнення шаблону, використовуючи підхід C# для генерації документа Word з бази даних.

Наступним кроком ми використаємо механізм звітності Aspose.Words для генерації документа Word з шаблону та екземпляра класу Sender, дотримуючись цих кроків:

  1. Створіть екземпляр класу Document та ініціалізуйте його шляхом до шаблону Word.
  2. Створіть і ініціалізуйте об’єкт класу Sender.
  3. Створіть екземпляр класу ReportingEngine.
  4. Заповніть шаблон, використовуючи ReportingEngine.BuildReport(), яка приймає екземпляр Document, джерело даних та ім’я джерела даних як параметри.
  5. Збережіть згенерований документ Word, використовуючи Document.Save().

Ось приклад коду, що демонструє, як згенерувати документ Word з шаблону в C#.

Вихідні дані

Генерація документа Word з XML-джерела даних у C#

Щоб згенерувати документ Word з XML-джерела даних, ми використаємо більш складний шаблон Word з такими заповнювачами:

<<foreach [in persons]>>Ім'я: <<[Name]>>, Вік: <<[Age]>>, Дата народження: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Середній вік: <<[persons.Average(p => p.Age)]>>

XML-джерело даних, використане в цьому прикладі, наведено нижче.

Щоб створити документ Word з XML-джерела даних, дотримуйтесь цих кроків:

  1. Створіть екземпляр класу Document та ініціалізуйте його шляхом до шаблону Word.
  2. Створіть екземпляр класу XmlDataSource та ініціалізуйте його шляхом до XML-файлу.
  3. Створіть екземпляр класу ReportingEngine.
  4. Використовуйте метод ReportingEngine.BuildReport() для заповнення шаблону Word.
  5. Збережіть згенерований документ Word, використовуючи метод Document.Save().

Ось приклад коду, що демонструє, як згенерувати документ Word з XML-джерела даних в C#.

Вихідні дані

Генерація документа Word з JSON-джерела даних у C#

Наступним кроком давайте дослідимо, як згенерувати документ Word, використовуючи JSON-джерело даних. У цьому прикладі ми створимо список клієнтів, сегментованих за їхніми менеджерами. Шаблон Word виглядатиме так:

<<foreach [in managers]>>Менеджер: <<[Name]>>
Контракти:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Відповідне JSON-джерело даних, яке ми будемо використовувати для заповнення шаблону, наведено нижче:

Щоб згенерувати документ Word з JSON, ми використаємо клас JsonDataSource для завантаження джерела даних, а решта кроків слідуватиме попередній структурі. Ось приклад коду, що демонструє, як згенерувати документ Word з шаблону JSON в C#.

Вихідні дані

Генерація документа Word з CSV-джерела даних у C#

Щоб згенерувати документ Word з CSV-джерела, ми використаємо наступний шаблон Word:

<<foreach [in persons]>>Ім'я: <<[Column1]>>, Вік: <<[Column2]>>, Дата народження: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Середній вік: <<[persons.Average(p => p.Column2)]>>

Шаблон буде заповнено за допомогою наступних даних CSV:

Тепер давайте переглянемо код C#. Кроки залишаються тими ж, за винятком однієї ключової різниці: ми будемо використовувати клас CsvDataSource для завантаження даних CSV. Наступний приклад коду ілюструє, як згенерувати документ Word з CSV-джерела даних.

Вихідні дані

Спробуйте Aspose.Words для .NET безкоштовно

Ви можете спробувати Aspose.Words для .NET за допомогою безкоштовної тимчасової ліцензії.

Висновок

У цій статті ви дізналися, як генерувати документи Word з шаблонів за допомогою C#. Ви дослідили, як використовувати різні джерела даних, такі як об’єкти, XML, JSON та CSV для динамічної генерації документів у .NET. Для подальших відомостей про можливості обробки шаблонів Word для .NET загляньте в документацію, і не соромтеся звертатися через наш форум.

Дивіться також