What Gets Exported
Which rows and which columns end up in the file: the filter and sort you can see, the rows the grid has loaded, and the columns in the order you left them.
Your filter and sort come with it
Type in the Department filter row and sort by Salary, then press Export. The file holds the rows you can see, in the order you can see them.
There is no "export selection" setting
The rows in the file are the rows the grid is showing. Narrow the grid and you narrow the file;
clear the filter and the file grows back. Nothing in config.export controls this.
Sort order carries too
Rows are written in display order, so the file opens sorted the way the screen was. Sort by Salary descending, export, and the first data row is the highest earner in view.
Filtering to nothing
Drive the filter until no rows match and the export writes a header row and no data rows. That is a valid file, not a failure — it is the honest answer to "export what I can see".
Loaded rows, not the whole table
500 employees, 20 to a page. Export from page 3 and you get page 3 — the grid writes what it holds, not what your server has.
The grid writes what it holds
In scrollMode: 'paging' the grid holds one page, so the file holds one page. Move to
page 3 and export: 20 rows, numbered from 41. This is the single most surprising thing about export,
and it is worth knowing before you send a file to someone.
Infinite scroll behaves the same way
With scrollMode: 'infinite' the grid accumulates rows as you scroll, so the file
grows as you go. Scroll to the bottom before exporting when you need the complete set.
When you want everything regardless
Fetch the full set yourself and hand it to the export service directly, or have your server build the file. Both patterns are on the Export API page.
Hidden, pinned and skipped columns
Email is hidden, # is pinned left, Actions is marked excludeFromExport. Drag a column or hide Department with the switch, then export and open the file.
Visible columns, in visual order
The file follows what the header row shows: pinned columns first, then the scrollable ones in
their current order, then columns pinned to the trailing edge. Drag Full Name ahead of
First Name and the next export follows the drag.
Three ways a column stays out
hidden: true— not on screen, so not in the file.Emailhere.excludeFromExport: true— on screen, never in the file. Use it for action and icon columns.Actionshere.- No
propand novalueGetter— nothing to read, so the column is skipped whether or not you flag it.
Hiding a column at runtime has the same effect as hidden: true: the next export
drops it. Set it in initialState, or flip it later through
setState({ columns }) — from a control of your own, or from anywhere else in your
app.
Computed columns export
Full Name has no matching field on the row — it is built by
valueGetter. The file gets the computed text, because the export reads a cell the same
way the screen does.
The short version
Rows: what the grid holds, narrowed by the active filter, in the current sort order. Columns:
the visible ones, in visual order, minus anything marked excludeFromExport. Values:
resolved through valueGetter and valueFormatter, so the text matches the
screen.
Group headings and totals
When the grid groups its rows, the headings, the subtotals and the grand total on screen go into
the file too, in the same order — nothing to configure. Set
export: { groups: false } for the plain data rows instead, which is what something
downstream parsing the file will want. The print layout renders the same grouped view.
What reaches the file
| Property | Type | Default | Description |
|---|---|---|---|
| column.hidden | boolean | false | Hidden columns are not on screen and not in the file. |
| column.excludeFromExport | boolean | false | Visible on screen, skipped in every export format. |
| column.pin | 'left' | 'right' | — | Pinned columns lead or trail the file, matching the header order. |
| column.valueGetter | (row) => unknown | — | Resolves the value for a column with no plain prop to read. |
| column.valueFormatter | (value, row, col) => string | — | Formats the exported text so the file matches the screen. |
| config.scrollMode | 'paging' | 'infinite' | … | 'infinite' | Decides how many rows the grid holds — and therefore how many reach the file. |