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