Rodzaje operacji Mail Merge

Główną ideą Mail Merge jest automatyczne tworzenie dokumentu lub wielu dokumentów na podstawie szablonu i danych pobranych ze źródła danych. Aspose.Words umożliwia wykonywanie dwóch różnych typów operacji Mail Merge: prostych Mail Merge i Mail Merge z regionami.

Najczęstszym przykładem użycia simple Mail Merge jest wysłanie dokumentu dla różnych klientów poprzez umieszczenie ich nazw na początku dokumentu. Aby to zrobić, musisz utworzyć w szablonie pola scalania, takie jak First Name i Last Name, a następnie wypełnić je danymi ze źródła danych. Natomiast najczęstszym przykładem użycia Mail Merge z regionami jest wysłanie dokumentu zawierającego określone zamówienia z listą wszystkich elementów w każdym zamówieniu. Aby to zrobić, musisz utworzyć regiony scalania w swoim własnym regionie szablonu dla każdego zamówienia, aby wypełnić je wszystkimi wymaganymi danymi dla elementów.

Główna różnica między obiema operacjami scalania polega na tym, że proste Mail Merge (bez regionów) powtarza cały dokument na każdy rekord źródła danych, podczas gdy Mail Merge z regionami powtarza tylko wyznaczone regiony na rekord. Możesz myśleć o prostej operacji Mail Merge jako szczególnym przypadku scalania z regionami, w których jedynym regionem jest cały dokument.

Prosta Mail Merge Operacja

Prosty Mail Merge służy do wypełnienia pól Mail Merge w szablonie wymaganymi danymi ze źródła danych (reprezentacja pojedynczej tabeli). Jest więc podobny do klasycznego Mail Merge w Microsoft Word.

Możesz dodać jedno lub więcej pól scalania w szablonie, a następnie wykonać prostą operację Mail Merge. Zaleca się użycie go, jeśli szablon nie zawiera żadnych regionów scalania.

Głównym ograniczeniem używania tego typu jest to, że cała zawartość dokumentu zostanie powtórzona dla każdego rekordu w źródle danych.

Jak wykonać prostą operację Mail Merge

Gdy szablon będzie gotowy, możesz rozpocząć wykonywanie prostej operacji Mail Merge. Aspose.Words umożliwia wykonanie prostej operacji Mail Merge przy użyciu różnych Execute methods, które akceptują różne obiekty danych jako źródło danych.

Poniższy przykład kodu pokazuje, jak wykonać prostą operację Mail Merge przy użyciu jednej z metod Execute:

Możesz zauważyć różnicę między dokumentem przed wykonaniem prostego mail merge:

simple_mail_merge_template

I po wykonaniu prostego mail merge:

execute_simple_mail_merge

Jak utworzyć wiele scalonych dokumentów

W Aspose.Words standardowa operacja Mail Merge wypełnia tylko jeden dokument treścią ze źródła danych. Tak więc będziesz musiał wykonać operację Mail Merge wiele razy, aby utworzyć wiele scalonych dokumentów jako dane wyjściowe.

Poniższy przykład kodu pokazuje, jak wygenerować wiele scalonych dokumentów podczas operacji Mail Merge:

Mail Merge z regionami

Możesz tworzyć różne regiony w szablonie, aby mieć specjalne obszary, które możesz po prostu wypełnić swoimi danymi. Użyj Mail Merge z regionami, jeśli chcesz wstawić tabele, wiersze z powtarzającymi się danymi, aby dokumenty dynamicznie rosły, określając te regiony w szablonie.

Możesz tworzyć zagnieżdżone (podrzędne) regiony, a także scalać regiony. Główną zaletą korzystania z tego typu jest dynamiczne zwiększanie części wewnątrz dokumentu. Zobacz więcej szczegółów w następnym artykule “zagnieżdżone Mail Merge z regionami”.

Jak wykonać Mail Merge z regionami

Region Mail Merge to określona część dokumentu, która ma punkt początkowy i punkt końcowy. Oba punkty są reprezentowane jako Mail Merge pola o określonych nazwach “TableStart:XXX” i “TableEnd:XXX”. Cała zawartość zawarta w regionie Mail Merge Zostanie Automatycznie powtórzona dla każdego rekordu w źródle danych.

Aspose.Words umożliwia wykonywanie Mail Merge z regionami używającymi różnych Execute methods, które akceptują różne obiekty danych jako źródło danych.

W pierwszym kroku musimy utworzyć DataSet, aby przekazać go później jako parametr wejściowy do metody ExecuteWithRegions:

Poniższy przykład kodu pokazuje, jak wykonać Mail Merge z regionami przy użyciu metody ExecuteWithRegions(DataSet):

Możesz zauważyć różnicę między dokumentem przed wykonaniem Mail Merge z regionami:

mail_merge_with_regions_template

I po wykonaniu Mail Merge z regionami:

mail_merge_with_regions_execute

Ograniczenia Mail Merge z regionami

Jest kilka ważnych punktów, które należy wziąć pod uwagę podczas wykonywania Mail Merge z regionami:

  • Punkt początkowy TableStart:Orders i punkt końcowy TableEnd:Orders muszą znajdować się w tym samym wierszu lub komórce. Na przykład, jeśli rozpoczynasz region scalania w komórce tabeli, musisz zakończyć region scalania w tym samym wierszu, co pierwsza komórka.
  • Nazwa pola scalania musi być zgodna z nazwą kolumny w DataTable. O ile nie określono mapowanych pól, Mail Merge z regionami nie powiedzie się dla żadnego pola scalania, które ma inną nazwę niż nazwa kolumny.

Jeśli jedna z tych zasad zostanie złamana, otrzymasz nieoczekiwane wyniki lub może zostać zgłoszony wyjątek.