Angular Data GridExport to CSV

Export your grid's raw data to the CSV format, as a downloadable file, a blob, or a string. Customize your export using Handsontable's configuration options.

Examples

Mind that CSV exports contain only raw data, and don't include formulas, styling, or formatting information.

Export to file

    Export as a JavaScript Blob object

    Open a console in browser developer tools to see the result for the below example.

      Export as a string

      Open a console in browser developer tools to see the result for the below example.

        Prevent CSV Injection attack

        "CSV Injection, also known as Formula Injection, occurs when websites embed untrusted input inside CSV files. When a spreadsheet program such as Microsoft Excel or LibreOffice Calc is used to open a CSV, any cells starting with = will be interpreted by the software as a formula." (from OWASP website (opens new window))

        To prevent this attack, set the sanitizeValues option when exporting your data in CSV format.

          Available methods

          The plugin exposes the following methods to export data.

          All of them accept the same arguments:

          format String

          This is required to prepare a predefined settings object. We currently allow for only 'csv' to be used.

          options Object

          This is an optional argument. It contains a set of supported options and extends the predefined CSV configuration. For the complete list of options that you can use, see available options.

          Available options in the export configuration

          Below you can find all supported options:

          bom Boolean

          Allows you to export data with a BOM signature.

          Note that this property will prepend content with the UTF-16BE BOM signature (FE FF). The browser will convert the signature to the UTF-8 value (EF BB BF) automatically.

          You can use this property in all of the available methods.

          Default value: true

          columnDelimiter String

          Allows you to define the columns delimiter.

          You can use this property in all of the available methods.

          Default value: ','

          columnHeaders Boolean

          When set to true, includes column headers in the exported data.

          You can use this property in all of the available methods.

          The columnHeaders option doesn't support the NestedHeaders plugin.

          Default value: false

          exportHiddenColumns Boolean

          Allows you to export data from hidden columns.

          You can use this property in all of the available methods.

          Default value: false

          exportHiddenRows Boolean

          Allows you to export data from hidden rows.

          You can use this property in all of the available methods.

          Default value: false

          fileExtension String

          Allows you to define the file extension.

          You can use this property in the downloadFile() method.

          Default value: 'csv'

          filename String

          Allows you to define the file name.

          You can use predefined placeholders, which will be replaced by the date.

          You can use this property in the downloadFile() method.

          Default value: 'Handsontable [YYYY]-[MM]-[DD]'

          mimeType String

          Allows you to define the MIME type.

          You can use this property in the downloadFile() and exportAsBlob() methods.

          Default value: 'text/csv'

          sanitizeValues Boolean|RegExp|Function

          Controls the value sanitization during the CSV export

          • when sanitizeValues is false, ExportPlugin doesn't sanitize the values
          • when sanitizeValues is true, ExportPlugin sanitizes values according to OWASP recommendations (opens new window).
          • when sanitizeValues is a regexp, ExportPlugin escapes values that match the regexp
          • when sanitizeValues is a function, ExportPlugin replaces values with the return value of the function

          Default value: false

          range Array

          Allows you to define a range of dataset to export. It's represented by an array of numeric, visual indexes [startRow, startColumn, endRow, endColumn].

          You can use this property in all of the available methods.

          Default value: 'text/csv'

          rowDelimiter String

          Allows you to define rows delimiter.

          You can use this property in all of the available methods.

          Default value: '\r\n'

          rowHeaders Boolean

          Allows you to export data with their row header.

          You can use this property in all of the available methods.

          Default value: false