Skip to main content
A newer version of this page is available.
All docs
V18.2

XtraReport.ExportToMht(String) Method

Exports a report to the specified file path in MHT format.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v18.2.dll

Declaration

public void ExportToMht(
    string path
)

Parameters

Name Type Description
path String

A String which specifies the file name (including the full path) for the created MHT file.

Remarks

Once the document export has started, it will run until the resulting document is complete and cannot be interrupted or canceled in the process.

Use this method to export a report to an MHT file using its current MHT-specific export options. These options are represented by the MhtExportOptions object returned by the ExportOptions.Mht property of a report’s XtraReport.ExportOptions. This object provides the HtmlExportOptionsBase.CharacterSet, HtmlExportOptionsBase.ExportMode, HtmlExportOptionsBase.RemoveSecondarySymbols and other properties which are intended to specify parameters of the resulting MHT file.

If you want to ignore current export options of a report, and use your specific settings when a report is exported to MHT, you should use the overloaded XtraReport.ExportToMht method with the options parameter.

Note

This method overwrites any files present at the specified path that have the same file name without any warnings.

Note

For more information on using the ExportToMht method, and limitations on export to MHT, please refer to the Export to MHT document.

Example

The following example demonstrates how to export a report to MHT format. To do this, the XtraReport.ExportToMht method should be used. It also demonstrates what specific MhtExportOptions may be used when a report is exported to MHT.

For this example to work, you first need to add a new report (named XtraReport1) to your project, drop some report controls onto it, and then execute the code below (for instance, in the Button.Click event handler of any button on a form). Note also, that if you want the resulting file to be automatically opened in the default program which is used to open *.mht files in your system, you can call the StartProcess method, which is also shown in this example.

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 { }
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the ExportToMht(String) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also