Home/Import & Export/What Gets Exported
Import & Export

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.

#
First Name
Department
Salary ($)
Start Date

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.

#
First Name
Department
Salary ($)
Start Date

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.

Hiding it at runtime drops it from the next file, exactly as hidden: true does.
#
First Name
Last Name
Full Name
Department
Actions

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. Email here.
  • excludeFromExport: true — on screen, never in the file. Use it for action and icon columns. Actions here.
  • No prop and no valueGetter — 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

PropertyTypeDefaultDescription
column.hiddenbooleanfalseHidden columns are not on screen and not in the file.
column.excludeFromExportbooleanfalseVisible 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.