MailMerge

MailMerge class

Posta birleştirme işlevini temsil eder.

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Posta Birleştirme ve Raporlama belgeleme makalesi.

public class MailMerge

Özellikleri

İsimTanım
CleanupOptions { get; set; }Posta birleştirme sırasında hangi öğelerin kaldırılacağını belirten bir dizi bayrak alır veya ayarlar.
CleanupParagraphsWithPunctuationMarks { get; set; }Noktalama işaretli paragrafların boş olarak kabul edilip edilmeyeceğini ve kaldırılıp kaldırılmayacağını belirten bir değer alır veya ayarlar.RemoveEmptyParagraphs seçenek belirtildi.
FieldMergingCallback { get; set; }Belgede bir posta birleştirme alanıyla karşılaşıldığında posta birleştirme sırasında oluşur.
MailMergeCallback { get; set; }Posta birleştirme sırasında belirli olayların işlenmesine izin verir.
MappedDataFields { get; }Posta 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 ait tüm belge birleştirme bölgelerinin, veri kaynağına ait bölgelerle veya yalnızca ilk bölgeyle bir birleştirme işlemi yürütülürken birleştirilip birleştirilmeyeceğini belirten bir değer alır veya ayarlar.
MergeWholeDocument { get; set; }Bölgelerle bir posta birleştirme işlemi yürütülürken tüm belgedeki alanların güncellenip güncellenmeyeceğini belirten bir değer alır veya ayarlar.
PreserveUnusedTags { get; set; }Kullanılmayan “mustache” etiketlerinin korunup korunmayacağını belirten bir değer alır veya ayarlar.
RegionEndTag { get; set; }Bir posta birleştirme bölgesi son etiketini alır veya ayarlar.
RegionStartTag { get; set; }Bir posta birleştirme bölgesi başlangıç etiketini alır veya ayarlar.
RestartListsAtEachSection { get; set; }Bir posta birleştirmenin yürütülmesinden sonra listelerin her bölümde yeniden başlatılıp başlatılmayacağını belirten bir değer alır veya ayarlar.
RetainFirstSectionStart { get; set; }Bir değeri alır veya ayarlar.SectionStart İlk belge bölümünün ve sonraki veri kaynağı satırlarının kopyaları posta birleştirme sırasında saklanır veya MS Word davranışına göre güncellenir.
TrimWhitespaces { get; set; }Posta birleştirme değerlerinden son ve öndeki boşlukların kesilip kesilmeyeceğini belirten bir değer alır veya ayarlar.
UnconditionalMergeFieldsAndRegions { get; set; }Üst IF alanının koşulundan bağımsız olarak birleştirme alanlarının 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, bazı diğer alan türlerinde ve ayrıca “{{fieldName}}” etiketlerinde posta birleştirmenin gerçekleştirildiğini belirtir.
UseWholeParagraphAsRegion { get; set; }Tüm paragrafın bir değerle gösterilip gösterilmediğini belirten bir değer alır veya ayarlarTabloBaşlangıcı veyaTablo Sonu field veya belirli aralıkTabloBaşlangıcı VeTablo Sonu alanlar posta birleştirme bölgesine dahil edilmelidir.

yöntemler

İsimTanım
DeleteFields()Belgeden posta birleştirmeyle ilgili alanları kaldırır.
Execute(DataRow)Bir e-posta birleştirme işlemini gerçekleştirirVeri Satırı belgeye.
Execute(DataTable)Bir DataTable’dan belgeye posta birleştirme işlemini gerçekleştirir.
Execute(DataView)Bir e-posta birleştirme işlemini gerçekleştirirVeriGörünümü belgeye.
Execute(IDataReader)Posta birleştirme işlemini gerçekleştirirIDataOkuyucu belgeye.
Execute(IMailMergeDataSource)Özel bir veri kaynağından posta birleştirme gerçekleştirir.
Execute(string[], object[])Tek bir kayıt için bir posta birleştirme işlemi gerçekleştirir.
ExecuteADO(object)ADO Kayıt Kümesi nesnesinden belgeye posta birleştirme gerçekleştirir.
ExecuteWithRegions(DataSet)Bir e-posta birleştirme işlemini gerçekleştirirVeri Seti posta birleştirme bölgelerine sahip bir belgeye.
ExecuteWithRegions(DataTable)Bir e-posta birleştirme işlemini gerçekleştirirVeri Tablosu posta birleştirme bölgeleriyle belgeye.
ExecuteWithRegions(DataView)Bir e-posta birleştirme işlemini gerçekleştirirVeriGörünümü posta birleştirme bölgeleriyle belgeye.
ExecuteWithRegions(IMailMergeDataSource)Posta birleştirme bölgeleriyle özel bir veri kaynağından posta birleştirme gerçekleştirir.
ExecuteWithRegions(IMailMergeDataSourceRoot)Posta birleştirme bölgeleriyle özel bir veri kaynağından posta birleştirme gerçekleştirir.
ExecuteWithRegions(IDataReader, string)Posta birleştirme işlemini gerçekleştirirIDataOkuyucu posta birleştirme bölgeleriyle belgeye.
ExecuteWithRegionsADO(object, string)ADO Kayıt Kümesi nesnesinden belgeye posta birleştirme işlemini posta birleştirme bölgeleriyle gerçekleştirir.
GetFieldNames()Belgede bulunan birleştirme alanı adlarının bir koleksiyonunu döndürür.
GetFieldNamesForRegion(string)Bölgede kullanılabilen posta birleştirme alanı adlarının bir koleksiyonunu döndürür.
GetFieldNamesForRegion(string, int)Bölgede kullanılabilen posta birleştirme alanı adlarının bir koleksiyonunu döndürür.
GetRegionsByName(string)Belirtilen ada sahip bir posta birleştirme bölgeleri koleksiyonu döndürür.
GetRegionsHierarchy()Belgede bulunan bölgelerin (alanlarla birlikte) tam hiyerarşisini döndürür.

Notlar

Posta birleştirme işleminin çalışması için, belge Word MERGEFIELD ve isteğe bağlı olarak NEXT alanlarını içermelidir. Posta birleştirme işlemi sırasında, belgedeki birleştirme alanları veri kaynağınızdaki değerlerle değiştirilir.

Posta birleştirmeyi kullanmanın iki farklı yolu vardır: posta birleştirme bölgeleriyle ve bölgesiz.

En basit posta birleştirme, bölgeleri olmayan bir birleştirmedir ve Word’de mail merge ’nin çalışma biçimine çok benzer.Uygulamak bazı veri kaynağından gelen bilgileri birleştirme yöntemleri örneğinVeri Tablosu ,Veri Seti ,VeriGörünümü ,IDataOkuyucu veya nesne dizisi belgenize. The MailMerge nesnesi veri kaynağının tüm kayıtlarını işler ve her kayıt için tüm belgenin içeriğini kopyalar ve ekler.

Dikkat edin, ne zamanMailMergenesne bir NEXT alanıyla karşılaşırsa, veri kaynağındaki next record öğesini seçer ve herhangi bir içeriği kopyalamadan birleştirmeye devam eder.

KullanmakExecuteWithRegions ve bilgileri, posta birleştirme bölgeleri tanımlanmış a belgesine birleştirmek için diğer aşırı yüklemeler. kullanabilirsinizVeri Seti ,Veri Tablosu ,VeriGörünümü veyaIDataOkuyucu Bu işlem için veri kaynağı olarak kullanın.

belgesinin içindeki bölümleri dinamik olarak büyütmek istiyorsanız posta birleştirme bölgelerini kullanmanız gerekir. Posta birleştirme bölgeleri olmadan, veri kaynağının her kaydı için tüm belge tekrarlanacaktır.

Örnekler

DataTable’daki verilerle posta birleştirme işleminin nasıl gerçekleştirileceğ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 bir posta birleştirme için veri kaynağı olarak DataTable kullanmanın iki yolu bulunmaktadır.
    // 1 - Tablonun tamamını kullanarak, tablodaki her satır için tek bir çıktı birleştirme belgesi oluşturun:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

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

    // 2 - Tablonun bir satırını kullanarak tek bir çıktı birleştirme belgesi oluşturun:
    doc = CreateSourceDocExecuteDataTable();

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

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

/// <summary>
/// Bir posta 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