1.0.0 • Published 3 years ago
ngx-rich-json-csv-parser v1.0.0
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.