xtrareports-2618-feature-guide-to-devexpress-reports-store-and-distribute-reports-export-reports-document-export-overview.md
You can export a report document to multiple formats.
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).
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.
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.
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.
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 to specify export options:
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");
Imports DevExpress.XtraReports.UI
' ...
Private report As New XtraReport() With {
.Bands = {
New DetailBand() With {
.Name = "DetaiBand", .Controls = {
New XRLabel() With {.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
Set the ExportOptions.ExportMode property to one of the values below to specify the report document’s export mode:
These modes are available in the following export formats:
|
Format
|
Single File
|
Single File Page-by-Page
|
Different Files
| | --- | --- | --- | --- | |
|
|
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| |
Text:
|
|
|
| |
Excel:
|
|
|
| |
Web Documents:
|
|
|
|
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:
Overlapped controls are highlighted in reports. Users can position their mouse pointer over such controls to see what needs to be fixed.
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.
You can specify XRControl.CanPublishOptions to exclude report controls from export if the user selects certain export formats.
The following code snippet excludes page information (the XRPageInfo instance) when exporting a report to XLS, XLSX, and CSV formats:
using DevExpress.XtraReports.UI;
// ...
XtraReport report = new XtraReport();
DetailBand detailBand = new DetailBand();
report.Bands.Add(detailBand);
XRPageInfo xrPageInfo1 = new XRPageInfo{
// Add content.
};
detailBand.Controls.Add(xrPageInfo1);
// Hide xrPageInfo1 from XLS, XLSX, and CSV formats.
xrPageInfo1.CanPublishOptions.Xlsx = false;
xrPageInfo1.CanPublishOptions.Xls = false;
xrPageInfo1.CanPublishOptions.Csv = false;
Imports DevExpress.XtraReports.UI
' ...
Private report As New XtraReport()
Private detailBand As New DetailBand()
report.Bands.Add(detailBand)
Dim xrPageInfo1 As XRPageInfo = New XRPageInfo From { }
detailBand.Controls.Add(xrPageInfo1)
' Hide xrPageInfo1 from XLS, XLSX, and CSV formats.
xrPageInfo1.CanPublishOptions.Xlsx = False
xrPageInfo1.CanPublishOptions.Xls = False
xrPageInfo1.CanPublishOptions.Csv = False
You can also specify CanPublishOptions in the Properties grid:
The following image illustrates the resulting XLXS document with and without page information: