🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

Angular directive to generate a CSV file from an array of objects or an array of array of strings.

Plugins

Documentation

ngx-csv


npm travis codecov

Easily generate a CSV download in the browser with Angular

Demo: https://ngx-csv.netlify.com/

Install

npm install @ctrl/ngx-csv

Import

import { CsvModule } from '@ctrl/ngx-csv';

Use

Add the csvLink directive to your <a> tag

<a csvLink [data]="data">Download</a>

Input

  • data: The body of the csv
  • headers: Set the first line of the csv
  • delimiter: Set the seperator between values. Default ','
  • filename: Set the filename of the csv. Default data.csv
  • uFEFF: Adds a Byte order mark to setup the csv as UTF-8. Default true
  • target: Element target. Default `_blank

Accepted Data Formats

Array of objects

keys are used as the column headers

const data = [   { firstname: 'Ahmed', lastname: 'Tomi', email: '[email protected]' },   { firstname: 'Raed', lastname: 'Labes', email: '[email protected]' },   { firstname: 'Yezzi', lastname: 'Min l3b', email: '[email protected]' }, ];
Array of strings

first line used as headers if not supplied

const data = [   ['firstname', 'lastname', 'email'],   ['Ahmed', 'Tomi', '[email protected]'],   ['Raed', 'Labes', '[email protected]'],   ['Yezzi', 'Min l3b', '[email protected]'], ];
String

An already formatted csv from an outside source

const data = `firstname,lastname Ahmed,Tomi Raed,Labes Yezzi,Min l3b `;
Array of objects with custom headers

provided headers

const headers = [   { label: 'First Name', key: 'firstname' },   { label: 'Last Name', key: 'lastname' },   { label: 'Email', key: 'email' }, ];  const data = [   { firstname: 'Ahmed', lastname: 'Tomi', email: '[email protected]' },   { firstname: 'Raed', lastname: 'Labes', email: '[email protected]' },   { firstname: 'Yezzi', lastname: 'Min l3b', email: '[email protected]' }, ];

See Also


You May Also Like