Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

RichEditControl.MailMerge(MailMergeOptions, String, DocumentFormat) Method

Merges data to the current document and saves the result to a file in the specified format. Allows you to set mail merge options.

Namespace: DevExpress.Xpf.RichEdit

Assembly: DevExpress.Xpf.RichEdit.v24.2.dll

NuGet Package: DevExpress.Wpf.RichEdit

#Declaration

public void MailMerge(
    MailMergeOptions options,
    string fileName,
    DocumentFormat format
)

#Parameters

Name Type Description
options MailMergeOptions

An object that contains options for the current merge.

fileName String

A name of the file to which the merged document is saved.

format DocumentFormat

An enumeration member that indicates the destination format.

#Remarks

The MailMerge method merges the current document with records retrieved from the MailMergeOptions.DataSource property specified by the options parameter, and saves the merged document to a file.

The MailMerge method results in the RichEditControl.CalculateDocumentVariable event being fired for the RichEditControl object.

#Example

The code sample below specifies mail merge options, runs the mail merge, and saves the document to the specified file.

result

using DevExpress.Office.Services;
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;

//...
RichEditControl.CalculateDocumentVariable += RichEditControl_CalculateDocumentVariable;

// Register the URI provider service
IUriStreamService uriStreamService = richEditControl.GetService<IUriStreamService>();
uriStreamService.RegisterProvider(new ImageStreamProvider(xmlDataSet.Tables[0], "Photo"));

MailMergeOptions myMergeOptions =
    richEditControl.Document.CreateMailMergeOptions();
myMergeOptions.DataSource = xmlDataSet.Tables[0];
myMergeOptions.MergeMode = MergeMode.NewSection;

richEditControl.MailMerge(myMergeOptions, "result.docx", DocumentFormat.OpenXml);
See Also