Back to Devexpress

XtraReport.ExportToMht(String, MhtExportOptions) Method

xtrareports-devexpress-dot-xtrareports-dot-ui-dot-xtrareport-dot-exporttomht-x28-system-dot-string-devexpress-dot-xtraprinting-dot-mhtexportoptions-x29.md

latest5.9 KB
Original Source

XtraReport.ExportToMht(String, MhtExportOptions) Method

SECURITY-RELATED CONSIDERATIONS

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.

Exports a report to the specified file in MHT format.

Namespace : DevExpress.XtraReports.UI

Assembly : DevExpress.XtraReports.v25.2.dll

NuGet Package : DevExpress.Reporting.Core

Declaration

csharp
public void ExportToMht(
    string path,
    MhtExportOptions options = null
)
vb
Public Sub ExportToMht(
    path As String,
    options As MhtExportOptions = Nothing
)

Parameters

NameTypeDescription
pathString

A String that is the full path to a file.

|

Optional Parameters

NameTypeDefaultDescription
optionsMhtExportOptionsnull

A MhtExportOptions object that specifies the MHT export options. You can omit this parameter to use the current report export options.

|

Remarks

Note

Once the document export has started, it runs to completion and you cannot interrupt or cancel it.

This method exports a report to a file in MHT format with the specified MHT export options.

If you do not specify export options, the method uses the current report export options. To access the report export options, use the XtraReport.ExportOptions.Mht notation.

Important

This method overwrites files with the same name without confirmation.

Use the ExportToMhtAsync(String, MhtExportOptions, CancellationToken) method instead of ExportToMht to export a report asynchronously in a separate task.

Example

This example demonstrates how to export a report to MHT format.

The project uses the XtraReport.ExportToMht method with the MhtExportOptions object as a parameter.

csharp
using System.Drawing;
using System.Diagnostics;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
// ...

private void ExportToMHT()
{
    // A path to export a report.
    string reportPath = "c:\\Test.mht";

    // Create a report instance.
    XtraReport1 report = new XtraReport1();

    // Get its MHT export options.
    MhtExportOptions mhtOptions = report.ExportOptions.Mht;

    // Set MHT-specific export options.
    mhtOptions.CharacterSet = "UTF-8";
    mhtOptions.TableLayout = false;
    mhtOptions.RemoveSecondarySymbols = false;
    mhtOptions.Title = "Test Title";

    // Set the pages to be exported, and page-by-page options.
    mhtOptions.ExportMode = HtmlExportMode.SingleFilePageByPage;
    mhtOptions.PageRange = "1, 3-5";
    mhtOptions.PageBorderColor = Color.Blue;
    mhtOptions.PageBorderWidth = 3;

    // Export the report to MHT.
    report.ExportToMht(reportPath);

    // Show the result.
    StartProcess(reportPath);
}

// Use this method if you want to automaically open
// the created MHT file in the default program.
public void StartProcess(string path)
{
    Process process = new Process();
    try
    {
        process.StartInfo.FileName = path;
        process.Start();
        process.WaitForInputIdle();
    }
    catch { }
}
vb
Imports System.Drawing
Imports System.Diagnostics
Imports DevExpress.XtraPrinting
Imports DevExpress.XtraReports.UI
' ...

Private Sub ExportToMHT()
    ' A path to export a report.
    Dim reportPath As String = "c:\\Test.mht"

    ' Create a report instance.
    Dim report As New XtraReport1()

    ' Get its MHT export options.
    Dim mhtOptions As MhtExportOptions = report.ExportOptions.Mht

    ' Set MHT-specific export options.
    mhtOptions.CharacterSet = "UTF-8"
    mhtOptions.TableLayout = False
    mhtOptions.RemoveSecondarySymbols = False
    mhtOptions.Title = "Test Title"

    ' Set the pages to be exported, and page-by-page options.
    mhtOptions.ExportMode = HtmlExportMode.SingleFilePageByPage
    mhtOptions.PageRange = "1, 3-5"
    mhtOptions.PageBorderColor = Color.Blue
    mhtOptions.PageBorderWidth = 3

    ' Export the report to MHT.
    report.ExportToMht(reportPath)

    ' Show the result.
    StartProcess(reportPath)
End Sub

' Use this method if you want to automaically open
' the created MHT file in the default program.
Public Sub StartProcess(ByVal path As String)
    Dim process As New Process()
    Try
        process.StartInfo.FileName = path
        process.Start()
        process.WaitForInputIdle()
    Catch
    End Try
End Sub

See Also

Export Reports

Export to MHT

XtraReport Class

XtraReport Members

DevExpress.XtraReports.UI Namespace