Class MailMerge
MailMerge class
Представляет функцию слияния почты.
public class MailMerge
Характеристики
Имя | Описание |
---|---|
CleanupOptions { get; set; } | Получает или задает набор флагов, указывающих, какие элементы должны быть удалены во время слияния. |
CleanupParagraphsWithPunctuationMarks { get; set; } | Получает или задает значение, указывающее, считаются ли абзацы со знаками препинания пустыми и должны ли они быть удалены, еслиRemoveEmptyParagraphs опция указана. |
FieldMergingCallback { get; set; } | Происходит во время слияния, когда в документе встречается поле слияния. |
MailMergeCallback { get; set; } | Позволяет обрабатывать определенные события во время слияния почты. |
MappedDataFields { get; } | Возвращает коллекцию, которая представляет сопоставленные поля данных для операции слияния почты. |
MergeDuplicateRegions { get; set; } | Получает или задает значение, указывающее, следует ли объединять все области слияния документов с именем источника данных при выполнении слияния с областями для источника данных или только первую. |
MergeWholeDocument { get; set; } | Получает или задает значение, указывающее, обновляются ли поля во всем документе при выполнении слияния почты с регионами. |
PreserveUnusedTags { get; set; } | Получает или задает значение, указывающее, должны ли быть сохранены неиспользуемые теги “усы”. |
RegionEndTag { get; set; } | Получает или задает конечный тег области слияния. |
RegionStartTag { get; set; } | Получает или задает начальный тег области слияния. |
RestartListsAtEachSection { get; set; } | Получает или задает значение, указывающее, перезапускаются ли списки в каждом разделе после выполнения слияния. |
RetainFirstSectionStart { get; set; } | Получает или задает значение, указывающее,SectionStart первого раздела документа и его копии для последующих строк источника данных rows сохраняются во время слияния или обновляются в соответствии с поведением MS Word. |
TrimWhitespaces { get; set; } | Получает или задает значение, указывающее, обрезаются ли конечные и начальные пробелы из значений слияния. |
UnconditionalMergeFieldsAndRegions { get; set; } | Получает или задает значение, указывающее, объединяются ли поля слияния и области слияния независимо от условия родительского поля IF. |
UseNonMergeFields { get; set; } | При значении true указывает, что в дополнение к полям MERGEFIELD слияние выполняется с некоторыми другими типами полей и также с тегами “{{fieldName}}”. |
UseWholeParagraphAsRegion { get; set; } | Получает или задает значение, указывающее, следует ли включать в область слияния весь абзац с полем TableStart или TableEnd или определенный диапазон между полями TableStart и TableEnd. |
Методы
Имя | Описание |
---|---|
DeleteFields() | Удаляет поля, связанные со слиянием, из документа. |
Execute(DataRow) | Выполняет слияние почты из DataRow в документ. |
Execute(DataTable) | Выполняет слияние почты из DataTable в документ. |
Execute(DataView) | Выполняет слияние почты из DataView в документ. |
Execute(IDataReader) | Выполняет слияние почты из IDataReader в документ. |
Execute(IMailMergeDataSource) | Выполняет слияние почты из пользовательского источника данных. |
Execute(string[], object[]) | Выполняет операцию слияния почты для одной записи. |
ExecuteADO(object) | Выполняет слияние почты из объекта набора записей ADO в документ. |
ExecuteWithRegions(DataSet) | Выполняет слияние из набора данных в документ с областями слияния. |
ExecuteWithRegions(DataTable) | Выполняет слияние из DataTable в документ с областями слияния. |
ExecuteWithRegions(DataView) | Выполняет слияние почты из DataView в документ с областями слияния. |
ExecuteWithRegions(IMailMergeDataSource) | Выполняет слияние из пользовательского источника данных с областями слияния. |
ExecuteWithRegions(IMailMergeDataSourceRoot) | Выполняет слияние из пользовательского источника данных с областями слияния. |
ExecuteWithRegions(IDataReader, string) | Выполняет слияние почты из IDataReader в документ с областями слияния. |
ExecuteWithRegionsADO(object, string) | Выполняет слияние из объекта набора записей ADO в документ с областями слияния. |
GetFieldNames() | Возвращает коллекцию имен полей слияния, доступных в документе. |
GetFieldNamesForRegion(string) | Возвращает коллекцию имен полей слияния, доступных в регионе. |
GetFieldNamesForRegion(string, int) | Возвращает коллекцию имен полей слияния, доступных в регионе. |
GetRegionsByName(string) | Возвращает коллекцию областей слияния с указанным именем. |
GetRegionsHierarchy() | Возвращает полную иерархию регионов (с полями), доступных в документе. |
Примечания
Чтобы операция слияния работала, документ должен содержать поля Word MERGEFIELD и (необязательно NEXT). Во время операции слияния поля слияния в документе заменяются значениями из вашего источника данных.
Существует два разных способа использования слияния: с областями слияния и без них.
Самое простое слияние почты без регионов и очень похоже на то, как работает слияние почты в Word. ИспользоватьВыполнять методы объединения информации из источника данных some , например Таблица данных , набор данных , Просмотр данных , IDataReader или массив объектов в ваш документ. The MailMerge объект обрабатывает все записи источника данных и копирует и добавляет содержимое всего документа для каждой записи.
Обратите внимание, что когда MailMergeобъект встречает поле NEXT, он выбирает следующую запись в источнике данных и продолжает слияние без копирования какого-либо содержимого.
ИспользоватьВыполнить с регионами методы объединения информации в документ a с определенными областями слияния. Вы можете использовать набор данных , Таблица данных , Просмотр данных или же IDataReader в качестве источников данных для этой операции.
Вам нужно использовать области слияния, если вы хотите динамически увеличивать части внутри документа . Без областей слияния весь документ будет повторяться для каждой записи источника данных.
Примеры
Показывает, как выполнить слияние почты с данными из DataTable.
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" });
// Ниже приведены два способа использования DataTable в качестве источника данных для слияния.
// 1 — использовать всю таблицу для слияния, чтобы создать один выходной документ слияния для каждой строки в таблице:
Document doc = CreateSourceDocExecuteDataTable();
doc.MailMerge.Execute(table);
doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");
// 2 - Используйте одну строку таблицы для создания одного выходного документа слияния почты:
doc = CreateSourceDocExecuteDataTable();
doc.MailMerge.Execute(table.Rows[1]);
doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}
/// <summary>
/// Создает исходный документ слияния.
/// </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;
}
Смотрите также
- пространство имен Aspose.Words.MailMerging
- сборка Aspose.Words