MailMerge
MailMerge class
Stellt die Serienbrieffunktion dar.
Um mehr zu erfahren, besuchen Sie dieSerienbriefe und Berichte Dokumentationsartikel.
public class MailMerge
Eigenschaften
Name | Beschreibung |
---|---|
CleanupOptions { get; set; } | Ruft eine Reihe von Flags ab oder legt diese fest, die angeben, welche Elemente während der Seriendruckfunktion entfernt werden sollen. |
CleanupParagraphsWithPunctuationMarks { get; set; } | Ruft einen Wert ab oder legt ihn fest, der angibt, ob Absätze mit Satzzeichen als leer betrachtet werden und entfernt werden sollen, wenn dieRemoveEmptyParagraphs Option angegeben ist. |
FieldMergingCallback { get; set; } | Tritt während des Seriendrucks auf, wenn im Dokument ein Seriendruckfeld gefunden wird. |
MailMergeCallback { get; set; } | Ermöglicht die Verarbeitung bestimmter Ereignisse während des Seriendrucks. |
MappedDataFields { get; } | Gibt eine Sammlung zurück, die zugeordnete Datenfelder für den Seriendruckvorgang darstellt. |
MergeDuplicateRegions { get; set; } | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob beim Ausführen eines Seriendrucks mit Regionen für die Datenquelle alle Seriendruckregionen des Dokuments mit dem Namen einer Datenquelle oder nur die erste zusammengeführt werden sollen. |
MergeWholeDocument { get; set; } | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Felder im gesamten Dokument beim Ausführen eines Seriendrucks mit Regionen aktualisiert werden. |
PreserveUnusedTags { get; set; } | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die nicht verwendeten „Mustache“-Tags beibehalten werden sollen. |
RegionEndTag { get; set; } | Ruft ein Endtag für den Seriendruckbereich ab oder legt dieses fest. |
RegionStartTag { get; set; } | Ruft ein Starttag für den Seriendruckbereich ab oder legt dieses fest. |
RestartListsAtEachSection { get; set; } | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Listen nach der Ausführung eines Seriendrucks in jedem Abschnitt neu gestartet werden. |
RetainFirstSectionStart { get; set; } | Ruft einen Wert ab oder legt ihn fest, der angibt, ob dieSectionStart des ersten Dokumentabschnitts und seiner Kopien für nachfolgende Datenquellenzeilen werden beim Seriendruck beibehalten oder entsprechend dem Verhalten von MS Word aktualisiert. |
TrimWhitespaces { get; set; } | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob nachstehende und führende Leerzeichen aus Serienbriefwerten entfernt werden. |
UnconditionalMergeFieldsAndRegions { get; set; } | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Zusammenführungsfelder und Zusammenführungsbereiche unabhängig von der Bedingung des übergeordneten IF-Felds zusammengeführt werden. |
UseNonMergeFields { get; set; } | WannWAHR , gibt an, dass Serienbriefe zusätzlich zu MERGEFIELD-Feldern auch in einigen anderen Feldtypen und auch in “{{fieldName}}"-Tags ausgeführt werden. |
UseWholeParagraphAsRegion { get; set; } | Ruft einen Wert ab oder setzt ihn, der angibt, ob der ganze Absatz mitTischStart oderTabellenende field oder bestimmter Bereich zwischenTischStart UndTabellenende Felder sollten in den Serienbriefbereich aufgenommen werden. |
Methoden
Name | Beschreibung |
---|---|
DeleteFields() | Entfernt Serienbrieffelder aus dem Dokument. |
Execute(DataRow) | Führt Serienbriefe aus einemDatenzeile in das Dokument. |
Execute(DataTable) | Führt einen Serienbrief aus einer DataTable in das Dokument aus. |
Execute(DataView) | Führt Serienbriefe aus einemDatenansicht in das Dokument. |
Execute(IDataReader) | Führt Serienbriefe aus vonIDataReader in das Dokument. |
Execute(IMailMergeDataSource) | Führt einen Serienbrief aus einer benutzerdefinierten Datenquelle aus. |
Execute(string[], object[]) | Führt einen Serienbriefvorgang für einen einzelnen Datensatz aus. |
ExecuteADO(object) | Führt einen Seriendruck von einem ADO-Recordset-Objekt in das Dokument aus. |
ExecuteWithRegions(DataSet) | Führt Serienbriefe aus einemDatensatz in ein Dokument mit Seriendruckbereichen. |
ExecuteWithRegions(DataTable) | Führt Serienbriefe aus einemDatentabelle in das Dokument mit Seriendruckbereichen. |
ExecuteWithRegions(DataView) | Führt Serienbriefe aus einemDatenansicht in das Dokument mit Seriendruckbereichen. |
ExecuteWithRegions(IMailMergeDataSource) | Führt einen Serienbrief aus einer benutzerdefinierten Datenquelle mit Serienbriefbereichen aus. |
ExecuteWithRegions(IMailMergeDataSourceRoot) | Führt einen Serienbrief aus einer benutzerdefinierten Datenquelle mit Serienbriefbereichen aus. |
ExecuteWithRegions(IDataReader, string) | Führt Serienbriefe aus vonIDataReader in das Dokument mit Seriendruckbereichen. |
ExecuteWithRegionsADO(object, string) | Führt einen Seriendruck von einem ADO-Recordset-Objekt in das Dokument mit Seriendruckbereichen durch. |
GetFieldNames() | Gibt eine Sammlung der im Dokument verfügbaren Seriendruckfeldnamen zurück. |
GetFieldNamesForRegion(string) | Gibt eine Sammlung von Serienbrieffeldnamen zurück, die in der Region verfügbar sind. |
GetFieldNamesForRegion(string, int) | Gibt eine Sammlung von Serienbrieffeldnamen zurück, die in der Region verfügbar sind. |
GetRegionsByName(string) | Gibt eine Sammlung von Serienbriefbereichen mit dem angegebenen Namen zurück. |
GetRegionsHierarchy() | Gibt eine vollständige Hierarchie der im Dokument verfügbaren Regionen (mit Feldern) zurück. |
Bemerkungen
Damit der Seriendruck funktioniert, muss das Dokument die Word-Felder MERGEFIELD und optional NEXT enthalten. Beim Seriendruck werden die Seriendruckfelder im Dokument durch Werte aus Ihrer Datenquelle ersetzt.
Es gibt zwei verschiedene Möglichkeiten, Serienbriefe zu verwenden: mit Serienbriefbereichen und ohne.
Der einfachste Serienbrief ist ohne Regionen und ähnelt stark der Funktion von Serienbriefen in Word. Verwenden SieAusführen Methoden zum Zusammenführen von Informationen aus einer Datenquelle wieDatentabelle ,Datensatz ,Datenansicht ,IDataReader oder ein Array von Objekten in Ihr Dokument. Das MailMerge
Das Objekt verarbeitet alle Datensätze der Datenquelle und kopiert und fügt für jeden Datensatz den Inhalt des gesamten Dokuments hinzu.
Beachten Sie, dass wennMailMerge
Wenn das Objekt auf ein NEXT-Feld stößt, wählt es den nächsten Datensatz in der Datenquelle aus und fährt mit der Zusammenführung fort, ohne Inhalte zu kopieren.
VerwendenExecuteWithRegions
und andere Überladungen, um Informationen in einem -Dokument mit definierten Serienbriefbereichen zusammenzuführen. Sie können verwendenDatensatz ,Datentabelle ,Datenansicht oderIDataReader als Datenquellen für diesen Vorgang.
Sie müssen Seriendruckbereiche verwenden, wenn Sie Teile innerhalb des -Dokuments dynamisch erweitern möchten. Ohne Seriendruckbereiche wird das gesamte Dokument für jeden Datensatz der -Datenquelle wiederholt.
Beispiele
Zeigt, wie ein Serienbrief mit Daten aus einer DataTable ausgeführt wird.
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" });
// Nachfolgend finden Sie zwei Möglichkeiten, eine DataTable als Datenquelle für einen Serienbrief zu verwenden.
// 1 - Verwenden Sie die gesamte Tabelle für den Seriendruck, um für jede Zeile in der Tabelle ein Ausgabe-Seriendruckdokument zu erstellen:
Document doc = CreateSourceDocExecuteDataTable();
doc.MailMerge.Execute(table);
doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");
// 2 - Verwenden Sie eine Zeile der Tabelle, um ein Serienbrief-Ausgabedokument zu erstellen:
doc = CreateSourceDocExecuteDataTable();
doc.MailMerge.Execute(table.Rows[1]);
doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}
/// <summary>
/// Erstellt ein Serienbrief-Quelldokument.
/// </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;
}
Siehe auch
- namensraum Aspose.Words.MailMerging
- Montage Aspose.Words