Export to File (csv/txt)
index
Description
You can Export to File in 2 formats (csv/txt), the following formats are currently supported
Export to CSV format (
.csv
)Export to Text file (
.txt
) with a delimiter of your choice (Tab delimited is a good one to use)
NOTE: this is an opt-in Service, you must download the necessary Service from @slickgrid-universal/text-export
and instantiate it in your grid options via externalResources
, see multiple examples below.
Demo
Grid Menu (hamburger menu)
The Grid Menu already has the "Export to CSV" enabled by default, so you will see it automatically in your Grid Menu. You still have the options to show or hide the 2 types of export
showExportCsvCommand
true by default, so it's optionalshowExportTextDelimitedCommand
false by default, so if you want it, you will need to enable it
Grid Options
You can set certain options for the entire grid, for example if you set exportWithFormatter
it will evaluate the Formatter (when exist) output to export. The Grid Menu also has the "Export to CSV" enabled by default.
Column Definition and Options
Options
Inside the column definition there are couple of flags you can set and also some behavior that should be aware of:
excludeFromExport
flag, which as it's name suggest will skip that column from the exportexportWithFormatter
flag (same as Grid Options but this flag defined in the Column Definition has higher priority).So basically, if
exportWithFormatter
is set to True in thetextExportOptions
of the Grid Options, but is set to False in the Column Definition, then the result will be False and will not evaluate it's Formatter.
exportCustomFormatter
will let you choose a different Formatter when exportingFor example, you might have
formatter: Formatters.checkmark
but you want to see a boolean translated value, in this case you would define an extra property ofexportCustomFormatter: Formatters.translateBoolean
.
you can set
exportCsvForceToKeepAsString
flag, this one will wrap the cell value into double quotes and add an equal sign in the front, this is especially useful on a column that could be turned into an exponential number by Excel. For example, we could have "1E06" and without this flag will become (1.0E06) in Excel, unless we enable the flag which will become="1E06"
which will keep it as a string, also note that it will be shown as "1E06" but if you click on the cell value, you will see="1E06"
set
sanitizeDataExport
to remove any HTML/Script code from being export. For example if your value is<span class="mdi mdi-check">True</span>
will exportTrue
without any HTML (data is sanitized).this flag can be used in the Grid Options (all columns) or in a Column Definition (per column).
Behaviors
If you have a
headerKey
defined (for Translate (i18n)), it will use the translated value as the Header TitleThe file will automatically have the UTF-8 BOM encoding so that it works with Latin and even Unicode characters (see UI Sample.
The UTF-8 BOM is a sequence of bytes (EF BB BF) that allows the reader to identify a file as being encoded in UTF-8.
What we can see from the example, is that it will use all Formatters (when exist) on this grid, except for the last column "Completed" since that column has explicitly defined exportWithFormatter: false
Export from a Button Click Event
You can use the export from the Grid Menu and/or you can simply create your own buttons to export.
View
ViewModel
The code below is just an example and it can be configured in many ways, the delimiter used can also be anything you want.
Show Loading Process Spinner
If you have lots of data, you might want to show a spinner telling the user that something is happening. You can use the subscribe to the event onBeforeExportToTextFile
to start your spinner and then onAfterExportToTextFile
to stop the spinner once the process is done. You can see a this Grouping Example demo which has this feature enabled.
View
ViewModel
UI Sample
Last updated