Based off of this library by Javier Telio
Helper library to quickly and easily create a CSV file in browser or Node
yarn add export-to-csv
// npm install --save export-to-csv
import { ExportToCsv } from 'export-to-csv';
var data = [
{
name: 'Test 1',
age: 13,
average: 8.2,
approved: true,
description: "using 'Content here, content here' "
},
{
name: 'Test 2',
age: 11,
average: 8.2,
approved: true,
description: "using 'Content here, content here' "
},
{
name: 'Test 4',
age: 10,
average: 8.2,
approved: true,
description: "using 'Content here, content here' "
},
];
const options = {
fieldSeparator: ',',
quoteStrings: '"',
decimalSeparator: '.',
showLabels: true,
showTitle: true,
title: 'My Awesome CSV',
useTextFile: false,
useBom: true,
useKeysAsHeaders: true,
// headers: ['Column 1', 'Column 2', etc...] <-- Won't work with useKeysAsHeaders present!
};
const csvExporter = new ExportToCsv(options);
csvExporter.generateCsv(data);
Option | Default | Description |
---|---|---|
fieldSeparator | , | Defines the field separator character |
filename | 'generated' | Sets the name of the downloaded file. ".csv" will be appended to the value provided. |
quoteStrings | " | If provided, will use this characters to "escape" fields, otherwise will use double quotes as deafult |
decimalSeparator | . | Defines the decimal separator character (default is .). If set to "locale", it uses the language sensitive representation of the number. |
showLabels | false | If true, the first row will be the headers option or object keys if useKeysAsHeaders is present |
showTitle | false | Includes the title as the first line in the generated file |
title | 'My Generated Report' | This string will be used as the report title |
useBom | true | If true, adds a BOM character at the start of the CSV to improve file compatibility |
useTextFile | false | If true, returns a .txt file instead of .csv |
useKeysAsHeaders | false | If true, this will use the keys of the first object in the collection as the column headers |
headers | [] | Expects an array of strings or { headerName:string, objecKey:string }. Print the colums headers in case of an array of strings. In case of object array, the resulting CSV will only print the provided columns (header included), in the given headers order. |
Credits and Original Authors |
---|
javiertelioz |
sn123 |
arf1980 |