Skip to main content
All docs
V26.1
  • TdxReport.ExportToDOCX(TStream) Method

    Exports report content to a stream in the Office OpenXML (DOCX) document format.

    Declaration

    procedure ExportToDOCX(AStream: TStream); overload;

    Parameters

    Name Type Description
    AStream TStream

    The target stream.

    Remarks

    Call the ExportToDOCX procedure to export report content to a stream in the DOCX format.

    DOCX Export Settings

    The Report Designer dialog allows you to configure DOCX export settings. Open the Properties tab and expand the following nodes to modify DOCX export settings: Behavior | Export Options | DOCX Export Options.

    VCL Reports: Export Format Settings in the Report Designer Dialog

    Code Example: Export Report Content to DOCX File

    The following code example configures a memory-based data source (TdxBackendInMemoryJSONConnection), loads an XML layout, and exports generated content to a file in the Office OpenXML Document (DOCX) format without user interaction:

    uses
      dxBackend.ConnectionString.JSON,  // Declares the TdxBackendInMemoryJSONConnection component
      dxReport;                      // Declares the TdxReport class
    // ...
    
    procedure TMyForm.cxButtonExportToDOCXClick(Sender: TObject);
    var
      AReport: TdxReport;
      AJSONDataConnection: TdxBackendInMemoryJSONConnection;
      AMemoryStream: TMemoryStream;
      AJSONData: string;
    begin
      // Define a table that consists of three columns ("id", "Region", and "Sales") and five data rows:
      AJSONData :=
    
      '[{"id": 1, "Region": "Asia",          "Sales": 4.7685},' +  // Row #1
       '{"id": 2, "Region": "Australia",     "Sales": 1.9576},' +  // Row #2
       '{"id": 3, "Region": "Europe",        "Sales": 3.3579},' +  // Row #3
       '{"id": 4, "Region": "North America", "Sales": 3.7477},' +  // Row #4
       '{"id": 5, "Region": "South America", "Sales": 1.8237}]';   // Row #5
    
      AJSONDataConnection := TdxBackendInMemoryJSONConnection.Create(Self);  // Creates a data connection
      try
        AJSONDataConnection.Name := 'JSONData';        // Assigns a name to the created data connection
        AJSONDataConnection.SetJSONValue(AJSONData);   // Assigns the defined JSON data string
        AReport := TdxReport.Create(Self);       // Creates a TdxReport container
        try
          AReport.Layout.LoadFromFile('MyReportLayout.xml');  // Loads an XML Report layout
          AReport.ReportName := 'MyReport';                         // Defines a Report name
          AMemoryStream := TMemoryStream.Create;                    // Creates a memory stream
          try
            // Export Report content to the created memory stream in the DOCX format:
            AReport.ExportToDOCX(AMemoryStream);
            AMemoryStream.SaveToFile(AReport.ReportName + '.docx');   // Saves the resulting DOCX file
          finally
            AMemoryStream.Free;         // Releases the memory stream
          end;
        finally
          AReport.Free;              // Releases the TdxReport container
        end;
      finally
        AJSONDataConnection.Free;       // Releases the data connection
      end;
    end;
    

    To see the report export functionality in action, run the Report Designer/Viewer demo in the VCL Demo Center installed with compiled DevExpress VCL demos. Select any demo in the sidebar on the left, click the Export button, and use any export option listed in the menu.

    Download: Compiled VCL Demos

    Tip

    You can find full source code for the installed compiled Report demo in the following folder:

    %PUBLIC%\Documents\DevExpress VCL Demos\MegaDemos\Product Demos\ExpressReports\

    Other Export Methods

    Export to File

    ExportTo
    Exports report content to a file in any supported format.
    ExportToDOCX
    Exports report content to a file in the Office OpenXML Document (DOCX) format.
    ExportToHTML
    Exports report content to a file in the HyperText Markup Language (HTML) document format.
    ExportToImage

    Exports report content to a stream in the current image export format (selected using the Report Designer dialog).

    The default image export format is PNG (Portable Network Graphics).

    ExportToMHT
    Exports report content to a file in the MIME HTML (MHT) document format.
    ExportToPDF
    Exports report content to a file in the Portable Document (PDF) format.
    ExportToRTF
    Exports report content to a file in the Rich Text (RTF) document format.
    ExportToText
    Exports report content to a file in the plain text (TXT) document format.
    ExportToXLS
    Exports report content to a file in the Microsoft Excel® binary (XLS) spreadsheet format.
    ExportToXLSX
    Exports report content to a file in the Office OpenXML Spreadsheet (XLSX) format.
    SaveDocument
    Exports report content to a file in the XML-Based Report Archive (PRNX) format.

    Export to Stream

    ExportTo
    Exports report content to a stream in any supported format.
    ExportToCSV
    Exports report content to a stream in the comma-separated values (CSV) format.
    ExportToHTML
    Exports report content to a stream in the HyperText Markup Language (HTML) document format.
    ExportToImage

    Exports report content to a stream in the current image export format (selected using the Report Designer dialog).

    The default image export format is PNG (Portable Network Graphics).

    ExportToMHT
    Exports report content to a stream in the MIME HTML (MHT) document format.
    ExportToPDF
    Exports report content to a stream in the Portable Document (PDF) format.
    ExportToRTF
    Exports report content to a stream in the Rich Text (RTF) document format.
    ExportToText
    Exports report content to a stream in the plain text (TXT) document format.
    ExportToXLS
    Exports report content to a stream in the Microsoft Excel® binary (XLS) spreadsheet format.
    ExportToXLSX
    Exports report content to a stream in the Office OpenXML Spreadsheet (XLSX) format.
    SaveDocument
    Exports report content to a stream in the XML-Based Report Archive (PRNX) format.
    See Also