
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
ngx-csv-parser
Advanced tools
CSV Import Library for Angular Framework. Go through the README.md file for detailed features and documentation.
This is a CSV Parser library which will help you to parse a selected CSV File in your Angular Application. Currently working with Angular version 2 and above (latest 17 and so on) as tested along with backward compatibility with previous Angular versions.
This library is in compliance to RFC 4180
A simple Example can be found under src/app directory of this repository.
Simply run npm i
and then run the application using your preffered command.
npm i ngx-csv-parser
import { NgxCsvParserModule } from 'ngx-csv-parser;
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NgxCsvParserModule } from 'ngx-csv-parser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NgxCsvParserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
The library has 3 configuration options.
header: true or false. This will allow you to make the first row of your CSV file act as the key for the result and the data from the remaining file as the value for those objects.
Example if the csv data is:
firstName,lastName
John,Doe
In case the header config is true the result will be:
[
{
firstName: 'John',
lastName: 'Doe'
}
]
[
['firstName', 'lastName'],
['John', 'Doe']
]
delimiter: the marking factor which decides which symbol should be used to split the file.
Default delimiter is: ','
encoding: this will define the encoding type to parse the csv file. You can select different encoding types depending on your file.
Default encoding type is: 'utf8'
import { Component, ViewChild } from '@angular/core';
import { NgxCsvParser, NgxCSVParserError } from 'ngx-csv-parser';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
csvRecords: any;
header: boolean = false;
constructor(private ngxCsvParser: NgxCsvParser) {
}
@ViewChild('fileImportInput') fileImportInput: any;
fileChangeListener($event: any): void {
const files = $event.srcElement.files;
this.header = (this.header as unknown as string) === 'true' || this.header === true;
this.ngxCsvParser.parse(files[0], { header: this.header, delimiter: ',', encoding: 'utf8' })
.pipe().subscribe({
next: (result): void => {
console.log('Result', result);
this.csvRecords = result;
},
error: (error: NgxCSVParserError): void => {
console.log('Error', error);
}
});
}
}
import { Component } from '@angular/core';
import { ViewChild } from '@angular/core';
import { NgxCsvParser } from 'ngx-csv-parser';
import { NgxCSVParserError } from 'ngx-csv-parser';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
csvRecords: any[] = [];
header = false;
constructor(private ngxCsvParser: NgxCsvParser) {
}
@ViewChild('fileImportInput', { static: false }) fileImportInput: any;
// Your applications input change listener for the CSV File
fileChangeListener($event: any): void {
// Select the files from the event
const files = $event.srcElement.files;
// Parse the file you want to select for the operation along with the configuration
this.ngxCsvParser.parse(files[0], { header: this.header, delimiter: ',' })
.pipe().subscribe((result: Array<any>) => {
console.log('Result', result);
this.csvRecords = result;
}, (error: NgxCSVParserError) => {
console.log('Error', error);
});
}
}
npm i
ng serve
for a dev server and running the demo app. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.FAQs
CSV Import Library for Angular Framework. Go through the README.md file for detailed features and documentation.
The npm package ngx-csv-parser receives a total of 9,733 weekly downloads. As such, ngx-csv-parser popularity was classified as popular.
We found that ngx-csv-parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.