Skip to main content

Document Export Overview

  • 4 minutes to read

You can export a report document to multiple formats.

Export a Report

Export Commands

You can export a report from the Report Designer’s Preview and from the Document Viewer on all supported platforms (WinForms, WPF, ASP.NET Web Forms, ASP.NET MVC, and ASP.NET Core).

  1. In the Report Designer, specify export options for the selected format. Specify the XtraReport.DisplayName property, the property value is the default report export file name.

    Specify Export Options

  2. Switch to Preview, expand the Export Document drop-down list and select the format to which you wish to export. Specify export options in the invoked dialog, and click OK.

    export-report-design-time

Visual Export Tool

You can start export in code and invoke the Export Options dialog to enable the user to specify export options. For this, use the VisualExportTool class.

Export in Code

At runtime, the XtraReport class provides methods to export a report document to all supported export formats. Call a report’s export method and pass an ExportOptionsBase descendant class instance as a parameter in order to specify export options:

Export Format Synchronous Export Method Asynchronous Export Method Export Options
PDF ExportToPdf(String, PdfExportOptions) ExportToPdfAsync(String, PdfExportOptions, CancellationToken) PdfExportOptions
DOCX ExportToDocx(String, DocxExportOptions) ExportToDocxAsync(String, DocxExportOptions, CancellationToken) DocxExportOptions
RTF ExportToRtf(String, RtfExportOptions) ExportToRtfAsync(String, RtfExportOptions, CancellationToken) RtfExportOptions
Image ExportToImage(String, ImageExportOptions) ExportToImageAsync(String, ImageExportOptions, CancellationToken) ImageExportOptions
CSV ExportToCsv(String, CsvExportOptions) ExportToCsvAsync(String, CsvExportOptions, CancellationToken) CsvExportOptions
TXT ExportToText(String, TextExportOptions) ExportToTextAsync(String, TextExportOptions, CancellationToken) TextExportOptions
XLS ExportToXls(String, XlsExportOptions) ExportToXlsAsync(String, XlsExportOptions, CancellationToken) XlsExportOptions
XSLX ExportToXlsx(String, XlsxExportOptions) ExportToXlsxAsync(String, XlsxExportOptions, CancellationToken) XlsxExportOptions
HTML ExportToHtml(String, HtmlExportOptions) ExportToHtmlAsync(String, HtmlExportOptions, CancellationToken) HtmlExportOptions
MHT ExportToMht(String, MhtExportOptions) ExportToMhtAsync(String, MhtExportOptions, CancellationToken) MhtExportOptions
MailMessage ExportToMail(MailMessageExportOptions) ExportToMailAsync(MailMessageExportOptions, CancellationToken) MailMessageExportOptions
using DevExpress.XtraReports.UI;
// ...

XtraReport report = new XtraReport() {
    Bands = {
        new DetailBand() {
            Name = "DetaiBand",
            Controls = {
                new XRLabel() {
                    Text = "Simple Report"
                }
            }
        }
    }
};
// Set a password to open the PDF export file.
report.ExportOptions.Pdf.PasswordSecurityOptions.OpenPassword = "password";
// Export the report to PDF. Save the export file to the user's Downloads folder.
report.ExportToPdf(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Downloads\" + report.Name + ".pdf");

Note

  • Synchronous export methods run until the export document is complete, and it cannot be interrupted or canceled. Other tasks performed in the application are locked during that time.
  • Asynchronous methods run in a separate thread and do not lock other tasks performed concurrently. You can use the CancellationToken parameter to cancel the report export.

Export Modes

Set the ExportOptions.ExportMode property to one of the values below to specify the report document’s export mode:

  • Single File
    The report is exported into one file that contains one page. The report’s page headers, footers, top and bottom margins appear only once, at the beginning and end of the resulting page.
  • Single File Page-by-Page
    The report is exported into one file that contains multiple pages. Each page corresponds to a report document page. The report’s page headers, footers, and top and bottom margins appear on every page, exactly as they appear in the report’s Preview.
  • Different Files
    The report is exported into multiple files. Each file contains one page that corresponds to a report document page. The report’s page headers, footers, and top and bottom margins appear on every page, exactly as they appear in the report’s Preview.

These modes are available in the following export formats:

Format

Single File

Single File Page-by-Page

Different Files

PDF

Icon-no

Icon-yes

Icon-no

DOCX

Icon-yes

Icon-yes

Icon-no

RTF

Icon-yes

Icon-yes

Icon-no

Image

Icon-yes

Icon-yes

Icon-yes

Text:

Icon-yes

Icon-no

Icon-no

Excel:

Icon-yes

Icon-yes

Icon-yes

Web Documents:

Icon-yes

Icon-yes

Icon-yes

Use the PrintControl.DisableExportModeValues method to limit the list of export modes available for each export format in your application.

You cannot export reports merged page by page in the Single File export mode. As a workaround:

  • Use subreports to merge multiple reports into a single document.
  • Export all reports to separate files and join these files in a single file.

Export Reports with Overlapped Controls

Overlapped controls are highlighted in reports. Users can position their mouse pointer over such controls to see what needs to be fixed.

ShowExportWarnings

Disable a report’s DesignerOptions.ShowExportWarnings property to remove highlights on overlapped controls.

You can export reports with overlapped controls into the following formats:

Note that an attempt to export a report with overlapped controls to another format causes an error.