Типы операций Mail Merge
Основная идея Mail Merge заключается в автоматическом создании документа или нескольких документов на основе вашего шаблона и данных, полученных из вашего источника данных. Aspose.Words позволяет выполнять два различных типа операций Mail Merge: простые Mail Merge и Mail Merge с регионами.
Наиболее распространенным примером использования simple Mail Merge является ситуация, когда вы хотите отправить документ для разных клиентов, указав их имена в начале документа. Чтобы сделать это, вам нужно создать поля слияния, такие как First Name и Last Name, в вашем шаблоне, а затем заполнить их данными из вашего источника данных. Принимая во внимание, что наиболее распространенный пример использования Mail Merge с регионами - это когда вы хотите отправить документ, содержащий конкретные заказы со списком всех позиций в каждом заказе. Для этого вам нужно будет создать регионы слияния внутри вашего шаблона – собственный регион для каждого заказа, чтобы заполнить его всеми необходимыми данными для товаров.
Основное различие между обеими операциями слияния заключается в том, что простой Mail Merge (без областей) повторяет весь документ для каждой записи источника данных, тогда как Mail Merge с областями повторяет только определенные области для каждой записи. Вы можете рассматривать простую операцию Mail Merge как частный случай слияния с областями, где единственной областью является весь документ целиком.
Простое Mail Merge Управление
Простое значение Mail Merge используется для заполнения полей Mail Merge внутри вашего шаблона необходимыми данными из вашего источника данных (представление в виде одной таблицы). Таким образом, оно аналогично классическому значению Mail Merge в Microsoft Word.
Вы можете добавить одно или несколько полей для объединения в свой шаблон, а затем выполнить простую операцию Mail Merge. Рекомендуется использовать ее, если в вашем шаблоне нет областей для объединения.
Основным ограничением использования этого типа является то, что все содержимое документа будет повторяться для каждой записи в источнике данных.
Как выполнить простую операцию Mail Merge
Как только ваш шаблон будет готов, вы можете приступить к выполнению простой операции Mail Merge. Aspose.Words позволяет выполнить простую операцию Mail Merge, используя различные Execute methods, которые принимают различные объекты данных в качестве источника данных.
В следующем примере кода показано, как выполнить простую операцию Mail Merge, используя один из методов Execute:
Вы можете заметить разницу между документами перед выполнением простого mail merge:
И после выполнения простого mail merge:
Как создать несколько объединенных документов
В случае Aspose.Words стандартная операция Mail Merge заполняет содержимым из вашего источника данных только один документ. Таким образом, вам нужно будет выполнить операцию Mail Merge несколько раз, чтобы создать несколько объединенных документов в качестве выходных данных.
В следующем примере кода показано, как создать несколько объединенных документов во время операции Mail Merge:
Mail Merge с регионами
Вы можете создавать различные области в своем шаблоне, чтобы иметь специальные области, которые вы можете просто заполнить своими данными. Используйте Mail Merge с регионами, если вы хотите вставлять таблицы, строки с повторяющимися данными, чтобы ваши документы динамически расширялись, указав эти области в вашем шаблоне.
Вы можете создавать вложенные (дочерние) области, а также объединять области. Основное преимущество использования этого типа заключается в динамическом увеличении частей внутри документа. Более подробную информацию смотрите в следующей статье “Вложенные Mail Merge области с областями”.
Как выполнить Mail Merge с регионами
Область Mail Merge - это определенная часть документа, имеющая начальную и конечную точки. Обе точки представлены в виде Mail Merge полей с определенными именами “TableStart:XXX” и “TableEnd:XXX”. Все содержимое, включенное в область Mail Merge, будет автоматически повторяться для каждой записи в источнике данных.
Aspose.Words позволяет выполнять Mail Merge с регионами, использующими разные Execute methods, которые принимают различные объекты данных в качестве источника данных.
В качестве первого шага нам нужно создать DataSet
, чтобы позже передать его в качестве входного параметра методу ExecuteWithRegions
:
В следующем примере кода показано, как выполнить Mail Merge с регионами, используя метод ExecuteWithRegions(DataSet):
Вы можете заметить разницу между документами перед выполнением Mail Merge с регионами:
И после выполнения Mail Merge с регионами:
Ограничения Mail Merge для регионов
Есть несколько важных моментов, которые необходимо учитывать при выполнении Mail Merge с регионами:
- Начальная точка TableStart:Orders и конечная точка TableEnd:Orders должны находиться в одной строке или ячейке. Например, если область объединения начинается в ячейке таблицы, то область объединения должна заканчиваться в той же строке, что и первая ячейка.
- Имя объединяемого поля должно совпадать с именем столбца в вашем DataTable. Если вы не указали сопоставленные поля, Mail Merge с регионами не будет успешным для любого объединяемого поля, имя которого отличается от имени столбца.
Если одно из этих правил будет нарушено, вы получите неожиданные результаты или может возникнуть исключение.