MailMerge

MailMerge class

Representerar funktionen för sammankoppling av brev.

För att lära dig mer, besökMail Merge och rapportering dokumentationsartikel.

public class MailMerge

Egenskaper

namnBeskrivning
CleanupOptions { get; set; }Hämtar eller ställer in en uppsättning flaggor som anger vilka objekt som ska tas bort under kopplingen.
CleanupParagraphsWithPunctuationMarks { get; set; }Hämtar eller ställer in ett värde som anger om stycken med skiljetecken anses vara tomma och bör tas bort omRemoveEmptyParagraphs alternativet är specificerat.
FieldMergingCallback { get; set; }Förekommer under sammankoppling när ett sammanslagningsfält påträffas i dokumentet.
MailMergeCallback { get; set; }Tillåter att hantera särskilda händelser under sammanslagningen.
MappedDataFields { get; }Returnerar en samling som representerar mappade datafält för kopplingsoperationen.
MergeDuplicateRegions { get; set; }Hämtar eller ställer in ett värde som indikerar om alla dokumentkopplingsregioner med namnet på en datakälla ska slås samman under körning av en brevkoppling med regioner mot datakällan eller bara den första.
MergeWholeDocument { get; set; }Hämtar eller ställer in ett värde som indikerar om fält i hela dokumentet uppdateras under körning av en sammankoppling med regioner.
PreserveUnusedTags { get; set; }Hämtar eller ställer in ett värde som anger om de oanvända “mustasch”-taggarna ska bevaras.
RegionEndTag { get; set; }Hämtar eller ställer in en sluttagg för kopplingsregion.
RegionStartTag { get; set; }Hämtar eller ställer in en starttagg för kopplingsregion.
RestartListsAtEachSection { get; set; }Hämtar eller ställer in ett värde som anger om listor startas om vid varje sektion efter körning av en e-postsammanfogning.
RetainFirstSectionStart { get; set; }Hämtar eller ställer in ett värde som indikerar omSectionStart av det första dokumentavsnittet och dess kopior för efterföljande datakälla rows bevaras under sammankoppling eller uppdateras enligt MS Word-beteende.
TrimWhitespaces { get; set; }Hämtar eller ställer in ett värde som anger om efterföljande och inledande blanksteg beskärs från sammanslagningsvärden.
UnconditionalMergeFieldsAndRegions { get; set; }Hämtar eller ställer in ett värde som anger om sammanslagningsfält och sammanslagningsregioner slås samman oavsett det överordnade IF-fältets tillstånd.
UseNonMergeFields { get; set; }NärSann , anger att förutom MERGEFIELD-fält utförs e-postsammankoppling till vissa andra typer av fält och även i “{{fieldName}}"-taggar.
UseWholeParagraphAsRegion { get; set; }Hämtar eller ställer in ett värde som anger om hela stycket medTableStart ellerTableEnd field eller särskilt intervall mellanTableStart ochTableEnd fält ska inkluderas i kopplingsområdet.

Metoder

namnBeskrivning
DeleteFields()Tar bort sammanslagningsrelaterade fält från dokumentet.
Execute(DataRow)Utför sammanslagning från enDataRow in i dokumentet.
Execute(DataTable)Utför e-postkoppling från en datatabell till dokumentet.
Execute(DataView)Utför sammanslagning från enDataView in i dokumentet.
Execute(IDataReader)Utför sammanslagning frånIDataReader in i dokumentet.
Execute(IMailMergeDataSource)Utför en e-postsammanfogning från en anpassad datakälla.
Execute(string[], object[])Utför en kopplingsoperation för en enskild post.
ExecuteADO(object)Utför e-postkoppling från ett ADO Recordset-objekt till dokumentet.
ExecuteWithRegions(DataSet)Utför sammanslagning från enDataset till ett dokument med kopplingsregioner.
ExecuteWithRegions(DataTable)Utför sammanslagning från enDatatabell in i dokumentet med kopplingsregioner.
ExecuteWithRegions(DataView)Utför sammanslagning från enDataView in i dokumentet med kopplingsregioner.
ExecuteWithRegions(IMailMergeDataSource)Utför en koppling av e-post från en anpassad datakälla med kopplingsregioner.
ExecuteWithRegions(IMailMergeDataSourceRoot)Utför en koppling av e-post från en anpassad datakälla med kopplingsregioner.
ExecuteWithRegions(IDataReader, string)Utför sammanslagning frånIDataReader in i dokumentet med kopplingsregioner.
ExecuteWithRegionsADO(object, string)Utför koppling från ett ADO Recordset-objekt till dokumentet med kopplingsregioner.
GetFieldNames()Returnerar en samling av kopplingsfältnamn som är tillgängliga i dokumentet.
GetFieldNamesForRegion(string)Returnerar en samling av kopplingsfältnamn som är tillgängliga i regionen.
GetFieldNamesForRegion(string, int)Returnerar en samling av kopplingsfältnamn som är tillgängliga i regionen.
GetRegionsByName(string)Returnerar en samling kopplingsregioner med det angivna namnet.
GetRegionsHierarchy()Returnerar en fullständig hierarki av regioner (med fält) tillgängliga i dokumentet.

Anmärkningar

För att kopplingen ska fungera bör dokumentet innehålla Word MERGEFIELD och valfritt NEXT-fält. Under kopplingsoperationen ersätts kopplingsfälten i dokumentet med värden från din datakälla.

Det finns två distinkta sätt att använda koppling av e-post: med kopplingsregioner och utan.

Den enklaste kopplingen är utan regioner och den är väldigt lik hur e-postsammankoppling fungerar i Word. Använda sig avKör metoder för att slå samman information från some datakälla som t.exDatatabell ,Dataset ,DataView ,IDataReader eller en mängd objekt i ditt dokument. The MailMerge objekt bearbetar alla poster i datakällan och kopierar och lägger till innehållet i hela dokumentet för varje post.

Observera att närMailMerge objektet stöter på ett NEXT-fält, väljer det nästa post i datakällan och fortsätter att slås samman utan att kopiera något innehåll.

Använda sig avExecuteWithRegions och andra överbelastningar för att sammanfoga information till a dokument med kopplingsregioner definierade. Du kan använda Dataset ,Datatabell ,DataView ellerIDataReader som datakällor för denna operation.

Du måste använda kopplingsregioner om du dynamiskt vill växa delar inuti dokumentet . Utan sammanslagningsregioner kommer hela dokumentet att upprepas för varje post av datakällan.

Exempel

Visar hur man kör en e-postsammanfogning med data från en datatabell.

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" });

    // Nedan finns två sätt att använda en datatabell som datakälla för en e-postkoppling.
    // 1 - Använd hela tabellen för kopplingen för att skapa ett kopplingsdokument för varje rad i tabellen:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");

    // 2 - Använd en rad i tabellen för att skapa ett dokument för utmatning av dokument:
    doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table.Rows[1]);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}

/// <summary>
/// Skapar ett källdokument för sammankoppling av brev.
/// </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;
}

Se även