Helper library for create CSV file in Angular 6
npm install --save angular2-csv
For Angular [ 2,4,5 ] install old version:
npm install --save angular2-csv@0.2.5
Add module in app.module.ts
import { Angular2CsvModule } from 'angular2-csv';
Add in imports section
imports: [
BrowserModule,
Angular2CsvModule
],
Use in component
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { options = { fieldSeparator: ',', quoteStrings: '"', decimalseparator: '.', showLabels: false, headers: [], showTitle: true, title: 'asfasf', useBom: false, removeNewLines: true, keys: ['approved','age','name' ] }; 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 3', age: 10, average: 8.2, approved: true, description: "using 'Content here, content here' " } ]; }
In template
<angular2csv [data]="data" filename="test.csv" [options]="options"></angular2csv>
Option | Default | Description |
---|---|---|
fieldSeparator | , | Defines the field separator character |
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. |
headers | [] | If provided, would use this attribute to create a header row |
showLabels | false | If provided, would use this attribute to create a header row |
showTitle | false | |
title | filename | Csv title |
useBom | true | If true, adds a BOM character at the start of the CSV |
removeNewLines | false | If true, remove new lines from columns (Helps to remove special characters that can't recognized) |
keys | [] | If provided, would use this attribute to have an order of columns |
var options = {
fieldSeparator: ',',
quoteStrings: '"',
decimalseparator: '.',
headers: ['column 1 header', 'column 2 header'],
showTitle: true,
useBom: true,
removeNewLines: false,
keys: []
};