wpf-devexpress-dot-xpf-dot-richedit-dot-richeditcontrol-dot-mailmerge-x28-devexpress-dot-xtrarichedit-dot-api-dot-native-dot-mailmergeoptions-system-dot-string-devexpress-dot-xtrarichedit-dot-documentformat-x29.md
Using file paths sourced from untrusted input may expose unauthorized files or allow unintended file access. Always validate and normalize all external paths to prevent path manipulation.
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.v25.2.dll
NuGet Package : DevExpress.Wpf.RichEdit
public void MailMerge(
MailMergeOptions options,
string fileName,
DocumentFormat format
)
Public Sub MailMerge(
options As MailMergeOptions,
fileName As String,
format As DocumentFormat
)
| 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.
|
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.
The code sample below specifies mail merge options, runs the mail merge, and saves the document to the specified file.
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.Docx);
Imports DevExpress.Office.Services
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native
'...
richEditControl.CalculateDocumentVariable += RichEditControl_CalculateDocumentVariable
Dim uriStreamService As IUriStreamService = wordProcessor.GetService(Of IUriStreamService)()
uriStreamService.RegisterProvider(New ImageStreamProvider(xmlDataSet.Tables(0), "Photo"))
Dim myMergeOptions As MailMergeOptions = richEditControl.Document.CreateMailMergeOptions()
myMergeOptions.DataSource = xmlDataSet.Tables(0)
myMergeOptions.MergeMode = MergeMode.NewSection
richEditControl.MailMerge(myMergeOptions, "result.docx", DocumentFormat.Docx)
See Also