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

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


Теми, що охоплюються:


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

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

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

Ключові функції:

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

  • Створіть екземпляр класу Document і ініціалізуйте його шляхом до шаблону Word.
  • Створіть та ініціалізуйте об’єкт класу Sender.
  • Створіть екземпляр класу ReportingEngine.
  • Заповніть шаблон за допомогою ReportingEngine.BuildReport(), який приймає екземпляр документа, джерело даних та ім’я джерела даних як параметри.
  • Збережіть згенерований документ 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, виконайте такі кроки:

  • Створіть екземпляр класу Document і ініціалізуйте його шляхом до шаблону Word.
  • Створіть екземпляр класу XmlDataSource і ініціалізуйте його шляхом до файлу XML.
  • Створіть екземпляр класу ReportingEngine.
  • Використовуйте метод ReportingEngine.BuildReport(), як раніше, щоб заповнити шаблон Word.
  • Збережіть згенерований документ 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, досліджуючи документацію, і не соромтеся звертатися через наш форум.

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