Mail Merge С региони
Можете да създадете различни региони във вашия шаблон, за да има специални области, които можете просто да попълните с вашите данни. Използвайте Mail Merge С региони, ако искате да вмъкнете таблици, редове с повтарящи се данни, за да направите документите си динамично да растат, като зададете тези региони във вашия шаблон.
Можете да създавате вложени (Детски) региони, както и да обединявате региони. Основното предимство на използването на този тип е динамично увеличаване на частите вътре в документа. Вижте повече подробности в следващата статия “вложени Mail Merge С региони”.
Как да се изпълни Mail Merge С региони
Mail Merge регион е специфична част в документ, която има начална и крайна точка. И двете точки са представени като Mail Merge полета, които имат конкретни имена “TableStart:XXX” и “TableEnd:XXX”. Цялото съдържание, включено в регион Mail Merge, ще се повтаря автоматично за всеки запис в източника на данни.
Aspose.Words ви позволява да изпълнявате Mail Merge с региони, като използвате един от методите ExecuteWithRegions, които приемат IMailMergeDataSource потребителски източник на данни.
Следващият пример за код показва как да се изпълни Mail Merge с региони от базата данни с SQLiteCpp:
Можете да забележите разликата между документа, преди да изпълните Mail Merge С региони:
И след изпълнение Mail Merge С региони:
Ограничения на Mail Merge С региони
Има някои важни точки, които трябва да имате предвид при извършване на Mail Merge С региони:
- Началната точка TableStart:Orders и крайната точка TableEnd:Orders трябва да бъдат в един и същ ред или клетка. Например ако стартирате област за обединяване в клетка на таблица, трябва да завършите областта за обединяване в същия ред като първата клетка. Името на полето за обединяване трябва да съответства на името на колоната във вашето DataTable. Освен ако не зададете нанесени полета, Mail Merge С региони няма да успее за всяко Обединено поле, което има име, различно от името на колоната.
- Aspose.Words за C++ поддържа само IMailMergeDataSource и IMailMergeDataSourceRoot базирани източници на данни. За разлика от .NET и Java, C++ няма общоприета междуплатформена API за работа с бази данни (като ADODB, ODBC или JDBC). За да работите с конкретен източник на данни, трябва да внедрите интерфейс IMailMergeDataSource или IMailMergeDataSourceRoot.
Ако някое от тези правила е нарушено, ще получите неочаквани резултати или може да се хвърли изключение.