Типи операцій 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:

simple_mail_merge_template

І після виконання простого mail merge:

execute_simple_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_with_regions_template

І після виконання Mail Merge з регіонами:

mail_merge_with_regions_execute

Обмеження Mail Merge для регіонів

Є кілька важливих моментів, які необхідно враховувати при виконанні Mail Merge з регіонами:

  • Початкова точка TableStart:Orders і кінцева точка TableEnd:Orders повинні знаходитися в одному рядку або комірці. Наприклад, якщо область об’єднання починається в комірці таблиці, то область об’єднання повинна закінчуватися в тому ж рядку, що і перша комірка.
  • Ім’я об’єднуваного поля має збігатися з ім’ям стовпця у вашому DataTable. Якщо ви не вказали зіставлені поля, Mail Merge з регіонами не буде успішним для будь-якого об’єднуючого поля, ім’я Якого відрізняється від імені стовпця.

Якщо одне з цих правил буде порушено, Ви отримаєте несподівані результати або може виникнути виняток.