
Автоматизация генерации документов имеет решающее значение для бизнеса, стремящегося создавать динамические отчеты, счета и письма. С помощью Aspose.Words Mail Merge для .NET вы можете эффективно заполнять шаблоны Word данными из различных источников, включая объекты, CSV, JSON и XML. Этот гид проведет вас через использование Mail Merge на C# для упрощенных и автоматизированных рабочих процессов документов, сосредоточив внимание на динамическом создании документов Word с помощью C# .NET.
Содержание
- Обзор Mail Merge для .NET
- Генерация документов из различных источников данных
- Лучшие практики для Mail Merge
- Часто задаваемые вопросы
Обзор Mail Merge для .NET
Плагин Aspose.Words Mail Merge для .NET позволяет разработчикам создавать персонализированные документы из предопределенных шаблонов, содержащих поля слияния. Эта интеграция предназначена для бесшовного использования в средах .NET и предлагает возможности для:
- Динамического заполнения шаблонов данными, поддерживающими генерацию документов Word для .NET framework.
- Эффективного выполнения массовой генерации документов, используя решение mail merge для документов Word на .NET.
- Обеспечения согласованного форматирования по всем выходным данным, улучшая лучшие практики шаблонов документов Word на C#.
Ключевые особенности:
- Поддержка нескольких источников: Используйте данные из объектов, баз данных, XML, JSON и CSV для создания индивидуализированных документов Word с помощью C#.
- Высокая производительность: Эффективно обрабатывайте большие наборы данных и массовые операции для динамической генерации документов Word с .NET Core.
- Настраиваемые шаблоны: Создавайте шаблоны с заполнителями для вставки данных, используя возможности автоматизации mail merge 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, следуя этим шагам:
- Создайте экземпляр класса Document и инициализируйте его с путем к шаблону Word.
- Создайте и инициализируйте объект класса Sender.
- Создайте экземпляр класса ReportingEngine.
- Заполните шаблон, используя ReportingEngine.BuildReport(), который принимает экземпляр Document, источник данных и имя источника данных в качестве параметров.
- Сохраните сгенерированный документ 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 погрузитесь в документацию, и не стесняйтесь обращаться через наш форум.