Back to Devexpress

ExportGridToXLSX(string,TcxGrid,Boolean,Boolean,Boolean,string,TObject) Method

vcl-cxgridexportlink-dot-exportgridtoxlsx-x28-9f6709f2-x29.md

latest6.3 KB
Original Source

ExportGridToXLSX(string,TcxGrid,Boolean,Boolean,Boolean,string,TObject) Method

Exports the currently active root level’s content to a file in Office Open XML spreadsheet format (XLSX).

Declaration

delphi
procedure ExportGridToXLSX(const AFileName: string; AGrid: TcxGrid; AExpand: Boolean = True; ASaveAll: Boolean = True; AUseNativeFormat: Boolean = True; const AFileExt: string = 'xlsx'; AHandler: TObject = nil);

Parameters

NameTypeDescription
AFileNamestring

The absolute or relative path to the resulting XLSX file.

You can omit the file name extension because it is automatically updated from the AFileExt parameter value.

| | AGrid | TcxGrid |

The source data grid control.

| | AExpand | Boolean |

Optional. If True, the procedure exports all rows, including the rows hidden within collapsed group rows and master rows. If False, the procedure exports only visible rows.

| | ASaveAll | Boolean |

Optional. Specifies if the procedure exports all available rows:

True Default. The procedure exports all or only visible rows depending on the AExpand parameter value.FalseThe procedure exports only selected rows.

The ASaveAll parameter value is ignored in grid mode.

| | AUseNativeFormat | Boolean |

Optional. Specifies if the procedure uses the native data format:

True Default. The procedure attempts to convert display text of grid cells to their underlying data format (Currency, Date, Time, Numeric, etc.). Refer to the Remarks section for the list of supported in-place editors and corresponding data formats.FalseThe procedure exports display text as string values. | | AFileExt | string |

Optional. Specifies the file name extension for the resulting XLSX file.

This parameter value always replaces the file name extension passed as a part of the AFileName parameter value.

| | AHandler | TObject |

Optional. Specifies a handler object that should implement the IcxExportBeforeSave and/or IcxExportProgress interfaces to allow you to perform specific actions before the beginning of an export operation and track its progress.

Tip

Refer to the following topic for detailed information on how to create and use handler objects:

How to: Track Data Export Progress

|

Remarks

If you pass True as the AUseNativeFormat parameter, the ExportGridToXLSX procedure attempts to convert display text of a grid item’s cells to their underlying data format (Currency, Date, Time, Numeric, etc.) If you assign an in-place editor to a cell, the export procedure selects the data format according to the following table:

In-place EditorData Format
TcxCurrencyEditCurrency
TcxMaskEdit or TcxCalcEditCurrency, if the assigned editor is bound to a dataset field whose values are formatted as currency values (TAggregateField.Currency, TBCDField.Currency, TFloatField.Currency, or TFMTBCDField.Currency). Otherwise, the data format is Number.
TcxDateEditDate
TcxTimeEditTime
TcxSpinEditNumber

If any other editor is assigned to a cell, the ExportGridToXLSX procedure exports its display text regardless of the AUseNativeFormat parameter value. If it is impossible to convert display text to the target data type for any reason, the display text is exported as a string.

Note

The listed data formats are used for value conversion only. They do not correspond to cell number formats found in Microsoft Excel®. Populated cells have the General format.

Summary values use the same data type as cell values against which these summaries are calculated if the following conditions are met for the corresponding summary items:

  • An empty string is assigned to a summary item’s Format property.
  • An OnGetText event handler is not assigned to a summary item.

Code Example: Export Grid Content as XLSX

The following code example exports grid content to a file in XLSX format with expanded detail pages:

delphi
uses cxGridExportLink;
// ...
  ExportGridToXLSX('Employees.xlsx', cxGrid1, True);
cpp
#include "cxGridExportLink.hpp"
// ...
  ExportGridToXLSX("Employees.xlsx", cxGrid1, true);

View Example: Modify Exported XLSX Documents using ExpressSpreadSheet

See Also

VCL Data Grid: Data Export

ExportGridToXLSXStream Global Procedure

cxGridExportLink Unit