MailMerge
MailMerge class
Représente la fonctionnalité de publipostage.
Pour en savoir plus, visitez leFusion et publipostage et création de rapports article de documentation.
public class MailMerge
Propriétés
Nom | La description |
---|---|
CleanupOptions { get; set; } | Obtient ou définit un ensemble d’indicateurs qui spécifient les éléments à supprimer lors du publipostage. |
CleanupParagraphsWithPunctuationMarks { get; set; } | Obtient ou définit une valeur indiquant si les paragraphes avec des signes de ponctuation sont considérés comme vides et doivent être supprimés si leRemoveEmptyParagraphs l’option est spécifiée. |
FieldMergingCallback { get; set; } | Se produit pendant le publipostage lorsqu’un champ de publipostage est rencontré dans le document. |
MailMergeCallback { get; set; } | Permet de gérer des événements particuliers lors du publipostage. |
MappedDataFields { get; } | Renvoie une collection qui représente les champs de données mappés pour l’opération de publipostage. |
MergeDuplicateRegions { get; set; } | Obtient ou définit une valeur indiquant si toutes les régions de publipostage de document portant le nom d’une source de données doivent être fusionnées lors de l’exécution d’un publipostage avec des régions par rapport à la source de données ou uniquement la première. |
MergeWholeDocument { get; set; } | Obtient ou définit une valeur indiquant si les champs de l’ensemble du document sont mis à jour lors de l’exécution d’un publipostage avec des régions. |
PreserveUnusedTags { get; set; } | Obtient ou définit une valeur indiquant si les balises « moustache » inutilisées doivent être conservées. |
RegionEndTag { get; set; } | Obtient ou définit une balise de fin de région de publipostage. |
RegionStartTag { get; set; } | Obtient ou définit une balise de début de région de publipostage. |
RestartListsAtEachSection { get; set; } | Obtient ou définit une valeur indiquant si les listes sont redémarrées à chaque section après l’exécution d’un publipostage. |
RetainFirstSectionStart { get; set; } | Obtient ou définit une valeur indiquant si leSectionStart de la première section du document et de ses copies pour les lignes de source de données suivantes sont conservées lors du publipostage ou mises à jour conformément au comportement de MS Word. |
TrimWhitespaces { get; set; } | Obtient ou définit une valeur indiquant si les espaces de fin et de début sont supprimés des valeurs de publipostage. |
UnconditionalMergeFieldsAndRegions { get; set; } | Obtient ou définit une valeur indiquant si les champs de fusion et les régions de fusion sont fusionnés quelle que soit la condition du champ IF parent. |
UseNonMergeFields { get; set; } | Quandvrai , spécifie qu’en plus des champs MERGEFIELD, le publipostage est effectué dans certains autres types de champs et également dans les balises “{{fieldName}}”. |
UseWholeParagraphAsRegion { get; set; } | Obtient ou définit une valeur indiquant si le paragraphe entier avecTableStart ouFin de table field ou plage particulière entreTableStart etFin de table les champs doivent être inclus dans la région de publipostage. |
Méthodes
Nom | La description |
---|---|
DeleteFields() | Supprime les champs liés au publipostage du document. |
Execute(DataRow) | Effectue le publipostage à partir d’unLigne de données dans le document. |
Execute(DataTable) | Effectue un publipostage à partir d’un DataTable vers le document. |
Execute(DataView) | Effectue le publipostage à partir d’unVue des données dans le document. |
Execute(IDataReader) | Effectue le publipostage à partir deIDataReader dans le document. |
Execute(IMailMergeDataSource) | Effectue un publipostage à partir d’une source de données personnalisée. |
Execute(string[], object[]) | Effectue une opération de publipostage pour un seul enregistrement. |
ExecuteADO(object) | Effectue un publipostage à partir d’un objet ADO Recordset dans le document. |
ExecuteWithRegions(DataSet) | Effectue le publipostage à partir d’unEnsemble de données dans un document avec des régions de publipostage. |
ExecuteWithRegions(DataTable) | Effectue le publipostage à partir d’unTable de données dans le document avec les régions de publipostage. |
ExecuteWithRegions(DataView) | Effectue le publipostage à partir d’unVue des données dans le document avec les régions de publipostage. |
ExecuteWithRegions(IMailMergeDataSource) | Effectue un publipostage à partir d’une source de données personnalisée avec des régions de publipostage. |
ExecuteWithRegions(IMailMergeDataSourceRoot) | Effectue un publipostage à partir d’une source de données personnalisée avec des régions de publipostage. |
ExecuteWithRegions(IDataReader, string) | Effectue le publipostage à partir deIDataReader dans le document avec les régions de publipostage. |
ExecuteWithRegionsADO(object, string) | Effectue un publipostage à partir d’un objet ADO Recordset dans le document avec des régions de publipostage. |
GetFieldNames() | Renvoie une collection de noms de champs de publipostage disponibles dans le document. |
GetFieldNamesForRegion(string) | Renvoie une collection de noms de champs de publipostage disponibles dans la région. |
GetFieldNamesForRegion(string, int) | Renvoie une collection de noms de champs de publipostage disponibles dans la région. |
GetRegionsByName(string) | Renvoie une collection de régions de publipostage portant le nom spécifié. |
GetRegionsHierarchy() | Renvoie une hiérarchie complète des régions (avec champs) disponibles dans le document. |
Remarques
Pour que le publipostage fonctionne, le document doit contenir les champs Word MERGEFIELD et NEXT (facultatif). Lors du publipostage, les champs de fusion du document sont remplacés par les valeurs de votre source de données.
Il existe deux manières distinctes d’utiliser le publipostage : avec des régions de publipostage et sans.
La fusion et le publipostage la plus simple est sans régions et fonctionne de manière très similaire à la fusion et au publipostage dans Word.Exécuter méthodes pour fusionner les informations provenant de certaines sources de données telles queTable de données ,Ensemble de données ,Vue des données ,IDataReader ou un tableau d’objets dans votre document. The MailMerge
l’objet traite tous les enregistrements de la source de données et copie et ajoute le contenu de l’ensemble du document pour chaque enregistrement.
Notez que lorsqueMailMerge
l’objet rencontre un champ SUIVANT, il sélectionne l’enregistrement suivant dans la source de données et continue la fusion sans copier aucun contenu.
UtiliserExecuteWithRegions
et autres surcharges pour fusionner des informations dans un document a avec des zones de publipostage définies. Vous pouvez utiliser Ensemble de données ,Table de données ,Vue des données ouIDataReader comme sources de données pour cette opération.
Vous devez utiliser des zones de publipostage pour agrandir dynamiquement des portions du document x000d. Sans zones de publipostage, le document entier sera répété pour chaque enregistrement de la source de données x000d.
Exemples
Montre comment exécuter un publipostage avec des données provenant d’un DataTable.
public void ExecuteDataTable()
{
DataTable table = new DataTable("Test");
table.Columns.Add("CustomerName");
table.Columns.Add("Address");
table.Rows.Add(new object[] { "Thomas Hardy", "120 Hanover Sq., London" });
table.Rows.Add(new object[] { "Paolo Accorti", "Via Monte Bianco 34, Torino" });
// Vous trouverez ci-dessous deux manières d'utiliser un DataTable comme source de données pour un publipostage.
// 1 - Utilisez la table entière pour le publipostage afin de créer un document de publipostage de sortie pour chaque ligne de la table :
Document doc = CreateSourceDocExecuteDataTable();
doc.MailMerge.Execute(table);
doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");
// 2 - Utilisez une ligne du tableau pour créer un document de publipostage de sortie :
doc = CreateSourceDocExecuteDataTable();
doc.MailMerge.Execute(table.Rows[1]);
doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}
/// <summary>
/// Crée un document source de publipostage.
/// </summary>
private static Document CreateSourceDocExecuteDataTable()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertField(" MERGEFIELD CustomerName ");
builder.InsertParagraph();
builder.InsertField(" MERGEFIELD Address ");
return doc;
}
Voir également
- espace de noms Aspose.Words.MailMerging
- Assemblée Aspose.Words