ngx-rich-json-csv-parser
v1.0.0
Published
convert JSON to CSV file and Download it in the .csv format for your Angular project
Downloads
23
Maintainers
Readme
ngx-rich-json-csv-parser
Ngx-rich-json-csv-parser help you to convert JSON to CSV file and Download it in the .csv format.
Features
- Convert JSON to CSV
- Download JSON data in CSV format file.
- Insert serial number
- Customize CSV file Header text
- Sort the CSV file data based on Header text
- Customize CSV file name
Installation
Start by installing the Angular Rich JSON CSV Parser library from npm
npm i -s ngx-rich-json-csv-parser
Next, you'll need to import the NgxRichJsonCsvParserModule module in your app's module.
app.module.ts
import { NgxRichJsonCsvParserModule } from 'ngx-rich-json-csv-parser';
...
@NgModule({
...
imports: [NgxRichJsonCsvParserModule],
...
});
Next, To consume this library, create a instance of this library service in component ts file. eg csv-download-example.component.ts
import { Component } from '@angular/core';
import { HeaderCaseMode, HeaderSortMode, NgxRichJsonCsvParserService } from 'ngx-rich-json-csv-parser';
...
export class CSVDownloadExampleComponent {
jsonData = []; //your JSON data to convert CSV
constructor(private _ngxRichJsonCsvParserService: NgxRichJsonCsvParserService) {
}
download() { // Sample function to covert JSON data to CSV and download CSV file
this._ngxRichJsonCsvParserService.downloadFile(this.jsonData, [], true, 'test', 'mySl', SortMode.DESC, HeaderCaseMode.StartCase);
}
}
Usages and API details
To download JSON data as a CSV file format, use downloadFile() function, eg:
this._ngxRichJsonCsvParserService.downloadFile(<Your JSON Data>,<Custom Header List>,<show Serial Number(boolean)>,<Your CSV File Name>,< your Serial Number Header Name>, < Sort Header list>,<Format your CSV headers text cases> );
Argument Details
| Order | Name | Type | Details | |------: |--------------------------------------------: |--------------------: |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | 1 | JSON Data | An array of objects | JSON data which is used to convert into CSV | | 2 | Custom Header | An array of String | You can provide custom csv header name, please note number of element in this header array should be equal to number of property in single JSON array object data | | 3 | isAutoGenerateSlNo(IsGenerateSerial Number) | Boolean | This flag is used to generate Numerical serial number start from 1 | | 4 | CSV File Name | string | Your custom CSV file name | | 5 | Serial Number header name | string | If isAutoGenerateSlNo is true then you can provide custom header for Serial number | | 6 | Sort CSV Header list | enum | To sort CSV Header list, available options are- without Sorting : HeaderSortMode.NONE- to sort ascending order: HeaderSortMode.ASC- to sort descending order: HeaderSortMode.DESC | | 7 | Header Text format | enum | To format CSV all header text to uppercase or lowercase or capitalize or startcase(title case)eg: HeaderCaseMode.StartCase |
this._ngxRichJsonCsvParserService.downloadFile(jsonData, [], true, 'test', 'mySl', SortMode.DESC, HeaderCaseMode.StartCase); //example
To convert JSON to CSV data format without downloading, use ConvertToCSV() function, eg:
this._ngxRichJsonCsvParserService.ConvertToCSV(this.jsonData, [], true, 'mySl', HeaderSortMode.DESC, HeaderCaseMode.StartCase); // this function returns csv data
Argument details
| Order | Name | Type | Details | |:-----: |:-------------------------------------------: |:-------------------: |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | 1 | JSON Data | An array of objects | JSON data which is used to convert into CSV | | 2 | Custom Header | An array of String | You can provide custom csv header name, please note number of element in this header array should be equal to number of property in single JSON array object data | | 3 | isAutoGenerateSlNo(IsGenerateSerial Number) | Boolean | This flag is used to generate Numerical serial number start from 1 | | 4 | Serial Number header name | string | If isAutoGenerateSlNo is true then you can provide custom header for Serial number | | 5 | Sort CSV Header list | enum | To sort CSV Header list, available options are- without Sorting : HeaderSortMode.NONE- to sort ascending order: HeaderSortMode.ASC- to sort descending order: HeaderSortMode.DESC | | 6 | Header Text format | enum | To format CSV all header text to uppercase or lowercase or capitalize or startcase(title case)eg: HeaderCaseMode.StartCase |
const c = this._ngxRichJsonCsvParserService.ConvertToCSV(this.jsonData, [], true, 'mySl', HeaderSortMode.DESC, HeaderCaseMode.StartCase);
console.log(c) //example
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.