MailMerge

MailMerge class

Representerar funktionen för sammankoppling av brev.

public class MailMerge

Egenskaper

namn Beskrivning
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 e-postkoppling 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är sant, anger det att utöver MERGEFIELD-fält utförs e-postsammankoppling till vissa andra typer av fält och även till “{{fieldName}}"-taggar.
UseWholeParagraphAsRegion { get; set; } Hämtar eller ställer in ett värde som anger om hela stycket med TableStart eller TableEnd field eller särskilt intervall mellan TableStart och TableEnd-fält ska inkluderas i kopplingsområdet.

Metoder

namn Beskrivning
DeleteFields() Tar bort sammanslagningsrelaterade fält från dokumentet.
Execute(DataRow) Utför e-postkoppling från en DataRow till dokumentet.
Execute(DataTable) Utför e-postkoppling från en datatabell till dokumentet.
Execute(DataView) Utför e-postkoppling från en DataView till dokumentet.
Execute(IDataReader) Utför e-postkoppling från IDataReader till 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 koppling av e-post från en datamängd till ett dokument med kopplingsregioner.
ExecuteWithRegions(DataTable) Utför koppling av e-post från en datatabell till dokumentet med kopplingsregioner.
ExecuteWithRegions(DataView) Utför koppling från en DataView till 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 koppling från IDataReader till 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.ex Datatabell , 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är MailMergeobjektet 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 metoder för att sammanfoga information till a dokument med kopplingsregioner definierade. Du kan använda Dataset , Datatabell , DataView eller IDataReader 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