Видове операции Mail Merge

Основната идея на Mail Merge е автоматично да създадете документ или множество документи въз основа на вашия шаблон и данни, извлечени от вашия източник на данни. Aspose.Words ви позволява да извършвате два различни вида операции Mail Merge: прости Mail Merge и Mail Merge с региони.

Най-честият пример за използване на прост 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 С региони няма да бъде успешна за всяко поле за обединяване, което има различно име от името на колоната.

Ако някое от тези правила е нарушено, ще получите неочаквани резултати или може да се хвърли изключение.