Mail Merge s regiony
V šabloně můžete vytvořit různé oblasti, abyste měli speciální oblasti, které můžete jednoduše vyplnit svými daty. Pokud chcete vložit tabulky, řádky s opakujícími se daty, použijte Mail Merge s regiony, aby vaše dokumenty dynamicky rostly zadáním těchto oblastí v šabloně.
Můžete vytvářet vnořené (podřízené) regiony i slučovat regiony. Hlavní výhodou použití tohoto typu je dynamicky zvětšovat části uvnitř dokumentu. Další podrobnosti naleznete v dalším článku “vnořené Mail Merge s regiony”.
Jak spustit Mail Merge s regiony
Oblast Mail Merge je specifická část uvnitř dokumentu, která má počáteční a koncový bod. Oba body jsou reprezentovány jako pole Mail Merge, která mají specifické názvy “TableStart:XXX” a “TableEnd:XXX”. Veškerý obsah, který je zahrnut v oblasti Mail Merge, se automaticky opakuje pro každý záznam ve zdroji dat.
Aspose.Words umožňuje spustit Mail Merge s regiony pomocí jedné z metod ExecuteWithRegions, které přijímají vlastní zdroj dat IMailMergeDataSource.
Následující příklad kódu ukazuje, jak spustit Mail Merge s regiony z databáze sqlite pomocí SQLiteCpp:
Rozdíl mezi dokumentem si můžete všimnout před spuštěním Mail Merge s regiony:
A po provedení Mail Merge s regiony:
Omezení Mail Merge s regiony
Při provádění Mail Merge s regiony je třeba vzít v úvahu několik důležitých bodů:
- Počáteční bod TableStart:Orders a koncový bod TableEnd:Orders musí být ve stejném řádku nebo buňce. Pokud například spustíte oblast sloučení v buňce tabulky, musíte oblast sloučení ukončit ve stejném řádku jako první buňka. Název sloučeného pole se musí shodovat s názvem sloupce ve vašem DataTable. Pokud nezadáte mapovaná pole, Mail Merge s regiony nebude úspěšné pro žádné slučovací pole, které má jiný název než název sloupce.
- Aspose.Words pro C++ podporuje pouze zdroje dat založené na IMailMergeDataSource a IMailMergeDataSourceRoot. Na rozdíl od .NET a Java nemá C++ obecně přijímanou multiplatformní API pro práci s databázemi (jako ADODB, ODBC nebo JDBC). Abyste mohli pracovat s konkrétním zdrojem dat,musíte implementovat rozhraní IMailMergeDataSource nebo IMailMergeDataSourceRoot.
Pokud je jedno z těchto pravidel porušeno, získáte neočekávané výsledky nebo může být vyvolána výjimka.