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