ts-export-to-csv
v0.3.3
Published
Easily create CSV data from json collection
Downloads
3,391
Maintainers
Readme
ts-export-to-csv | Export to CSV Mini Library
Based off of this library by Alex Caza Which is Based off of this library by Javier Telio
Helper library to quickly and easily create a CSV file in browser or Node
Installation
yarn add ts-export-to-csv
// npm install --save ts-export-to-csv
Usage
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!
additionalHeaders: [{columns: ["HeaderRow1Column1", "HeaderRow1Column2"]}, {columns: ["HeaderRow2Column1","HeaderRow2Column2"]}]
};
const csvExporter = new ExportToCsv(options);
csvExporter.generateCsv(data);
API
| 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|
| columnHeaders | [] | Expects an array of strings, which if supplied, will be used as the column headers|
| additionalHeaders | [] | Expects an array of Headers, which is an object containing an array of strings {'columns': string[]}, each header object represents an additional row (and columns) of data to be added at the start of the CSV |
Thanks!
| Credits and Original Authors | | :------------- | | alexcaza| | javiertelioz | | sn123 | | arf1980 |