MailMerge

MailMerge class

Adres-mektup birleştirme işlevini temsil eder.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Adres Mektup Birleştirme ve Raporlama dokümantasyon makalesi.

public class MailMerge

Özellikleri

İsimTanım
CleanupOptions { get; set; }Adres-mektup birleştirme sırasında hangi öğelerin kaldırılması gerektiğini belirten bir dizi işaret alır veya ayarlar.
CleanupParagraphsWithPunctuationMarks { get; set; }Noktalama işaretli paragrafların boş olarak kabul edilip edilmeyeceğini ve eğerRemoveEmptyParagraphs seçenek belirtildi.
FieldMergingCallback { get; set; }Adres-mektup birleştirme sırasında belgede adres-mektup birleştirme alanıyla karşılaşıldığında oluşur.
MailMergeCallback { get; set; }Adres-mektup birleştirme sırasında belirli olayların işlenmesine izin verir.
MappedDataFields { get; }Adres-mektup birleştirme işlemi için eşlenen veri alanlarını temsil eden bir koleksiyon döndürür.
MergeDuplicateRegions { get; set; }Veri kaynağına karşı bölgelerle adres-mektup birleştirme yürütülürken, veri kaynağı adına sahip tüm belge adres-mektup birleştirme bölgelerinin mi yoksa yalnızca ilkinin mi birleştirilmesi gerektiğini belirten bir değer alır veya ayarlar.
MergeWholeDocument { get; set; }Bölgelerle adres-mektup birleştirme yürütülürken belgenin tamamındaki alanların güncellenip güncellenmediğini gösteren bir değer alır veya ayarlar.
PreserveUnusedTags { get; set; }Kullanılmayan “bıyık” etiketlerinin korunması gerekip gerekmediğini belirten bir değer alır veya ayarlar.
RegionEndTag { get; set; }Adres-mektup birleştirme bölgesi bitiş etiketini alır veya ayarlar.
RegionStartTag { get; set; }Adres-mektup birleştirme bölgesi başlangıç etiketini alır veya ayarlar.
RestartListsAtEachSection { get; set; }Adres-mektup birleştirme yürütüldükten sonra her bölümde listelerin yeniden başlatılıp başlatılmayacağını belirten bir değer alır veya ayarlar.
RetainFirstSectionStart { get; set; }Olup olmadığını belirten bir değer alır veya ayarlar.SectionStart ilk belge bölümünün ve sonraki veri kaynağı satırları için kopyaları adres-mektup birleştirme sırasında korunur veya MS Word davranışına göre güncellenir.
TrimWhitespaces { get; set; }Adres-mektup birleştirme değerlerinden sondaki ve baştaki boşlukların kırpılıp kırpılmadığını belirten bir değer alır veya ayarlar.
UnconditionalMergeFieldsAndRegions { get; set; }Ana IF alanının durumuna bakılmaksızın birleştirme alanları ve birleştirme bölgelerinin birleştirilip birleştirilmeyeceğini belirten bir değer alır veya ayarlar.
UseNonMergeFields { get; set; }Ne zamandoğru MERGEFIELD alanlarına ek olarak diğer bazı alan türlerinde ve ayrıca “{{fieldName}}” etiketlerinde adres-mektup birleştirme işleminin gerçekleştirildiğini belirtir.
UseWholeParagraphAsRegion { get; set; }Paragrafın tamamının olup olmadığını belirten bir değer alır veya ayarlar.TabloBaşlangıcı veyaTablo Sonu field veya arasındaki belirli aralıkTabloBaşlangıcı VeTablo Sonu alanlar adres-mektup birleştirme bölgesine dahil edilmelidir.

yöntemler

İsimTanım
DeleteFields()Adres-mektup birleştirmeyle ilgili alanları belgeden kaldırır.
Execute(DataRow)Adres-mektup birleştirmeyi bir adresten gerçekleştirir.Veri Satırı belgeye.
Execute(DataTable)DataTable’dan belgeye adres-mektup birleştirme gerçekleştirir.
Execute(DataView)Adres-mektup birleştirmeyi bir adresten gerçekleştirir.Veri görünümü belgeye.
Execute(IDataReader)Adres-mektup birleştirmeyi şuradan gerçekleştirir:IDataReader belgeye.
Execute(IMailMergeDataSource)Özel bir veri kaynağından adres-mektup birleştirme gerçekleştirir.
Execute(string[], object[])Tek bir kayıt için adres-mektup birleştirme işlemi gerçekleştirir.
ExecuteADO(object)Bir ADO Recordset nesnesinden belgeye adres-mektup birleştirme gerçekleştirir.
ExecuteWithRegions(DataSet)Adres-mektup birleştirmeyi bir adresten gerçekleştirir.Veri Kümesi adres-mektup birleştirme bölgeleri olan bir belgeye.
ExecuteWithRegions(DataTable)Adres-mektup birleştirmeyi bir adresten gerçekleştirir.Veri tablosu adres-mektup birleştirme bölgelerinin bulunduğu belgeye.
ExecuteWithRegions(DataView)Adres-mektup birleştirmeyi bir adresten gerçekleştirir.Veri görünümü adres-mektup birleştirme bölgelerinin bulunduğu belgeye.
ExecuteWithRegions(IMailMergeDataSource)Adres-mektup birleştirme bölgelerine sahip özel bir veri kaynağından adres-mektup birleştirme gerçekleştirir.
ExecuteWithRegions(IMailMergeDataSourceRoot)Adres-mektup birleştirme bölgelerine sahip özel bir veri kaynağından adres-mektup birleştirme gerçekleştirir.
ExecuteWithRegions(IDataReader, string)Adres-mektup birleştirmeyi şuradan gerçekleştirir:IDataReader adres-mektup birleştirme bölgelerinin bulunduğu belgeye.
ExecuteWithRegionsADO(object, string)Bir ADO Recordset nesnesinden adres-mektup birleştirme bölgelerine sahip belgeye adres-mektup birleştirme gerçekleştirir.
GetFieldNames()Belgede bulunan adres-mektup birleştirme alan adlarının bir koleksiyonunu döndürür.
GetFieldNamesForRegion(string)Bölgede mevcut olan adres-mektup birleştirme alan adlarının bir koleksiyonunu döndürür.
GetFieldNamesForRegion(string, int)Bölgede mevcut olan adres-mektup birleştirme alan adlarının bir koleksiyonunu döndürür.
GetRegionsByName(string)Belirtilen ada sahip adres-mektup birleştirme bölgelerinin bir koleksiyonunu döndürür.
GetRegionsHierarchy()Belgede bulunan bölgelerin (alanlarla birlikte) tam hiyerarşisini döndürür.

Notlar

Adres-mektup birleştirme işleminin çalışması için belgenin Word MERGEFIELD ve isteğe bağlı olarak NEXT alanlarını içermesi gerekir. Adres-mektup birleştirme işlemi sırasında, belgedeki birleştirme alanları are , veri kaynağınızdaki değerlerle değiştirilir.

Adres-mektup birleştirmeyi kullanmanın iki farklı yolu vardır: adres-mektup birleştirme bölgeleri olan ve olmayan.

En basit adres-mektup birleştirme bölgesizdir ve adres-mektup birleştirme ’nin Word’deki çalışma şekline çok benzer. KullanmakUygulamak some veri kaynağındaki bilgileri birleştirme yöntemleri, örneğinVeri tablosu ,Veri Kümesi ,Veri görünümü ,IDataReader veya bir dizi nesneyi belgenize ekleyin. The MailMerge nesne, veri kaynağının tüm kayıtlarını işler ve her kayıt için belgenin tamamını kopyalayıp extensions içeriğini işler.

Ne zaman olduğunu unutmayınMailMerge nesne bir NEXT alanıyla karşılaştığında, veri kaynağındaki sonraki kayıt ‘yi seçer ve herhangi bir içeriği kopyalamadan birleştirmeye devam eder.

KullanmakExecuteWithRegions ve adres-mektup birleştirme bölgeleri tanımlanmış olarak bilgileri a belgesine birleştirmek için diğer aşırı yüklemeler. kullanabilirsinizVeri Kümesi ,Veri tablosu ,Veri görünümü veyaIDataReader Bu işlem için veri kaynağı olarak .

belgesinin içindeki bölümleri dinamik olarak büyütmek istiyorsanız adres-mektup birleştirme bölgelerini kullanmanız gerekir. Adres-mektup birleştirme bölgeleri olmadan, belgenin tamamı veri kaynağının her kaydı için tekrarlanacaktır.

Örnekler

DataTable’daki verilerle adres-mektup birleştirmenin nasıl yürütüleceğini gösterir.

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

    // Aşağıda, adres-mektup birleştirme için veri kaynağı olarak DataTable'ı kullanmanın iki yolu verilmiştir.
    // 1 - Tablodaki her satır için bir çıktı adres-mektup birleştirme belgesi oluşturmak amacıyla adres-mektup birleştirme için tablonun tamamını kullanın:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

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

    // 2 - Bir çıktı adres-mektup birleştirme belgesi oluşturmak için tablonun bir satırını kullanın:
    doc = CreateSourceDocExecuteDataTable();

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

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

/// <summary>
/// Adres-mektup birleştirme kaynak belgesi oluşturur.
/// </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;
}

Ayrıca bakınız