MailMerge

MailMerge class

Representerar funktionen för dokumentkoppling.

För att lära dig mer, besökKoppla dokument och rapportering dokumentationsartikel.

public class MailMerge

Egenskaper

namnBeskrivning
CleanupOptions { get; set; }Hämtar eller anger en uppsättning flaggor som anger vilka objekt som ska tas bort under dokumentkoppling.
CleanupParagraphsWithPunctuationMarks { get; set; }Hämtar eller anger ett värde som anger om stycken med skiljetecken ska betraktas som tomma och ska tas bort omRemoveEmptyParagraphs alternativet är angivet.
FieldMergingCallback { get; set; }Inträffar under koppling av dokument när ett fält för koppling av dokument påträffas i dokumentet.
MailMergeCallback { get; set; }Tillåter hantering av specifika händelser under dokumentkoppling.
MappedDataFields { get; }Returnerar en samling som representerar mappade datafält för dokumentkopplingsoperationen.
MergeDuplicateRegions { get; set; }Hämtar eller anger ett värde som anger om alla dokumentkopplingsområden med namnet på en datakälla ska slås samman vid utskriftskoppling med regioner mot datakällan eller bara den första.
MergeWholeDocument { get; set; }Hämtar eller anger ett värde som anger om fält i hela dokumentet uppdateras när en dokumentkoppling med regioner utförs.
PreserveUnusedTags { get; set; }Hämtar eller anger 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 ett regionsavsnitt för dokumentkoppling.
RegionStartTag { get; set; }Hämtar eller ställer in en starttagg för en region för dokumentkoppling.
RestartListsAtEachSection { get; set; }Hämtar eller anger ett värde som anger om listor startas om i varje avsnitt efter att en dokumentkoppling har utförts.
RetainFirstSectionStart { get; set; }Hämtar eller ställer in ett värde som anger omSectionStart av det första dokumentavsnittet och dess kopior för efterföljande datakällrader behålls under dokumentkoppling eller uppdateras enligt MS Words beteende.
TrimWhitespaces { get; set; }Hämtar eller anger ett värde som anger om efterföljande och inledande blanksteg ska tas bort från värden för koppling av dokument.
UnconditionalMergeFieldsAndRegions { get; set; }Hämtar eller anger ett värde som anger om sammanslagningsfält och sammanslagningsområden slås samman oavsett det överordnade OM-fältets villkor.
UseNonMergeFields { get; set; }Närsann , anger att utöver MERGEFIELD-fält utförs dokumentkoppling i vissa andra typer av fält och även i “{{fieldName}}"-taggar.
UseWholeParagraphAsRegion { get; set; }Hämtar eller anger ett värde som anger om hela stycket medTabellstart ellerBordände field eller ett visst intervall mellanTabellstart ochBordände fält ska inkluderas i området för koppling av dokument.

Metoder

namnBeskrivning
DeleteFields()Tar bort fält relaterade till koppling av dokument från dokumentet.
Execute(DataRow)Utför koppling av dokument från enDataRod in i dokumentet.
Execute(DataTable)Utför koppling av dokument från en datatabell till dokumentet.
Execute(DataView)Utför koppling av dokument från enDatavy in i dokumentet.
Execute(IDataReader)Utför koppling av dokument frånIDataläsare in i dokumentet.
Execute(IMailMergeDataSource)Utför en dokumentkoppling från en anpassad datakälla.
Execute(string[], object[])Utför en dokumentkopplingsåtgärd för en enskild post.
ExecuteADO(object)Utför dokumentkoppling från ett ADO Recordset-objekt till dokumentet.
ExecuteWithRegions(DataSet)Utför koppling av dokument från enDataset till ett dokument med områden för koppling av dokument.
ExecuteWithRegions(DataTable)Utför koppling av dokument från enDatatabell i dokumentet med områden för koppling av dokument.
ExecuteWithRegions(DataView)Utför koppling av dokument från enDatavy i dokumentet med områden för koppling av dokument.
ExecuteWithRegions(IMailMergeDataSource)Utför en dokumentkoppling från en anpassad datakälla med områden för dokumentkoppling.
ExecuteWithRegions(IMailMergeDataSourceRoot)Utför en dokumentkoppling från en anpassad datakälla med områden för dokumentkoppling.
ExecuteWithRegions(IDataReader, string)Utför koppling av dokument frånIDataläsare i dokumentet med områden för koppling av dokument.
ExecuteWithRegionsADO(object, string)Utför dokumentkoppling från ett ADO Recordset-objekt till dokumentet med områden för dokumentkoppling.
GetFieldNames()Returnerar en samling namn på fält för kopplingsmeddelanden som finns tillgängliga i dokumentet.
GetFieldNamesForRegion(string)Returnerar en samling namn på fält för kopplingsmeddelanden som är tillgängliga i regionen.
GetFieldNamesForRegion(string, int)Returnerar en samling namn på fält för kopplingsmeddelanden som är tillgängliga i regionen.
GetRegionsByName(string)Returnerar en samling av kopplingsområden för dokument med det angivna namnet.
GetRegionsHierarchy()Returnerar en fullständig hierarki av regioner (med fält) som finns tillgängliga i dokumentet.

Anmärkningar

För att kopplingsfunktionen ska fungera måste dokumentet innehålla Word-fälten MERGEFIELD och , eventuellt NEXT. Under kopplingsfunktionen ersätts kopplingsfälten i dokumentet med värden från din datakälla.

Det finns två olika sätt att använda dokumentkoppling: med och utan områden för dokumentkoppling.

Den enklaste dokumentkopplingen är utan regioner och den är väldigt lik hur dokumentkoppling fungerar i Word.Utföra metoder för att sammanfoga information från någon datakälla såsomDatatabell ,Dataset ,Datavy ,IDataläsare eller en array av objekt i ditt dokument. The MailMerge objektet bearbetar alla poster i datakällan och kopierar och lägger till innehåll i hela dokumentet för varje post.

Observera att närMailMergeOm objektet stöter på ett NEXT-fält väljer det nästa record i datakällan och fortsätter sammanfogningen utan att kopiera något innehåll.

AnvändaExecuteWithRegions och andra överbelastningar för att sammanfoga information till ett -dokument med definierade områden för dokumentkoppling. Du kan använda Dataset ,Datatabell ,Datavy ellerIDataläsare som datakällor för den här operationen.

Du behöver använda områden för koppling av dokument om du vill dynamiskt utöka delar inom dokumentet . Utan områden för koppling av dokument kommer hela dokumentet att upprepas för varje post i datakällan .

Exempel

Visar hur man utför en dokumentkoppling 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 följer två sätt att använda en datatabell som datakälla för en dokumentkoppling.
    // 1 - Använd hela tabellen för dokumentkopplingen för att skapa ett utgående dokumentkopplingsdokument 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 enda dokument för koppling av dokument:
    doc = CreateSourceDocExecuteDataTable();

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

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

/// <summary>
/// Skapar ett källdokument för dokumentkoppling.
/// </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