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

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


Зміст


Огляд Mail Merge для .NET

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

  • Динамічного заповнення шаблонів даними, підтримуючи генерацію документів Word для .NET.
  • Ефективної генерації документів у великих обсягах, використовуючи рішення для злиття пошти .NET для документів Word.
  • Забезпечення послідовного форматування в усіх виходах, покращуючи найкращі практики шаблонів документів 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 ознайомтеся з документацією, і не соромтеся звертатися через наш форум.