Imbriqué Mail Merge avec des régions

Dans certains scénarios, vous devrez peut-être utiliser des mail merge imbriqués avec des régions. La fusion imbriquée est une fonctionnalité qui vous permet de fusionner des données hiérarchiques de votre source de données dans votre modèle de fusion pour remplir facilement votre document. Fondamentalement, les données hiérarchiques sont représentées comme un ensemble d’éléments de données, et les relations hiérarchiques décrivent comment les éléments de données sont liés les uns aux autres (un élément de données est le parent d’un autre).

Aspose.Words vous permet d’effectuer une opération mail merge avec des régions imbriquées. Vous pouvez utiliser cette fonctionnalité si vous disposez d’une source de données organisée en structure arborescente et que vous souhaitez exécuter une opération mail merge pour remplir un modèle avec des données hiérarchiques.

Qu’est-ce qu’un Mail Mergeimbriqué

La région mail merge est appelée imbriquée si vous avez au moins deux régions mail merge dont l’une est à l’intérieur de l’autre sous une forme hiérarchique. Notez que chaque région contient les données d’une table.

L’exemple le plus courant d’un mail merge imbriqué est un ordre qui contient quelques éléments où vous devez lier de nombreuses tables de données et présenter les informations dans un modèle.

L’image ci-dessous montre deux régions imbriquées où la région Order mail merge est le parent de la région Item mail merge.

nested_mail_merge_with_regions

Comment traiter Mail Merge avec des régions imbriquées

Les données à fusionner dans un modèle peuvent provenir de diverses sources, principalement des bases de données relationnelles ou des documents XML. Dans notre exemple, nous allons utiliser un SQLite base de données pour stocker nos données et les charger avec une implémentation de source de données personnalisée.

L’image ci-dessous montre comment les données de la table Order transmises aux régions de fusion imbriquées seront liées à la table Item, ainsi que la sortie générée lors de l’opération de fusion.

mail_merge_with_nested_regions

Comme vous pouvez le voir dans le document de sortie, chaque commande de la table Order est insérée dans le modèle de fusion avec tous les éléments associés de la commande de la table Item. La prochaine commande sera insérée avec leurs articles jusqu’à ce que toutes les commandes et tous les articles soient répertoriés. L’ordre d’imbrication mail merge des régions dans le modèle doit correspondre aux relations de données entre les tables de la source de données.

Comment créer des Relations de Données à partir d’une Source de Données personnalisée

Implémentez l’interface IMailMergeDataSource pour créer des relations dans la structure parent-enfant de votre source de données personnalisée. Utilisez la méthode GetChildDataSource pour renvoyer les données enfants pertinentes d’un enregistrement parent actuel.

L’exemple de code suivant montre comment générer une facture à l’aide de mail merge imbriqués avec des régions à partir de SQLite base de données avec SQLiteCpp: