Mail Merge cu regiuni
Puteți crea diferite regiuni în șablonul dvs. pentru a avea zone speciale pe care le puteți completa pur și simplu cu datele dvs. Utilizați mail merge cu regiuni dacă doriți să inserați tabele, rânduri cu date repetate pentru ca documentele dvs. să crească dinamic, specificând acele regiuni din șablonul dvs.
Puteți crea regiuni imbricate (copil), precum și regiuni de îmbinare. Principalul avantaj al utilizării acestui tip este creșterea dinamică a părților din interiorul unui document. Vedeți mai multe detalii în articolul următor “imbricat Mail Merge cu regiuni”.
Cum se execută Mail Merge cu regiuni
O regiune mail merge este o parte specifică din interiorul unui document care are un punct de început și un punct final. Ambele puncte sunt reprezentate ca mail merge câmpuri care au nume specifice “TableStart:XXX” și “TableEnd:XXX”. Tot conținutul care este inclus într-o regiune mail merge va fi repetat automat pentru fiecare înregistrare din sursa de date.
Aspose.Words vă permite să executați mail merge cu regiuni folosind una dintre metodele ExecuteWithRegions care acceptă IMailMergeDataSource sursă de date personalizată.
Următorul exemplu de cod arată cum se execută mail merge cu regiuni din Baza de date sqlite cu SQLiteCpp:
Puteți observa diferența dintre document înainte de a executa mail merge cu regiuni:
Și după executarea mail merge cu regiuni:
Limitări ale Mail Merge cu regiuni
Există câteva puncte importante pe care trebuie să le luați în considerare atunci când efectuați un mail merge cu regiuni:
- Punctul de pornire TableStart:Orders și punctul final TableEnd:Orders trebuie să fie ambele în același rând sau celulă. De exemplu, dacă începeți o regiune de îmbinare într-o celulă a unui tabel, trebuie să terminați regiunea de îmbinare în același rând cu prima celulă. Numele câmpului de îmbinare trebuie să se potrivească cu numele coloanei din DataTable. Dacă nu specificați câmpuri mapate, mail merge cu regiuni nu va reuși pentru niciun câmp de îmbinare care are un alt nume decât numele coloanei.
- Aspose.Words pentru C++ acceptă numai surse de date bazate pe IMailMergeDataSource și IMailMergeDataSourceRoot. Spre deosebire de .NET și Java, C++ nu are o platformă încrucișată general acceptată API pentru lucrul cu baze de date (cum ar fi ADODB, ODBC sau JDBC). Pentru a lucra cu o anumită sursă de date, trebuie să implementați interfața IMailMergeDataSource sau IMailMergeDataSourceRoot.
Dacă una dintre aceste reguli este încălcată, veți obține rezultate neașteptate sau poate fi aruncată o excepție.