PrimeNG export to CSV
There no direct solution, sharing a solution hoping that it might help someone.
My HTML looks like this.
<p-dataTable *ngIf="displayTable" #dataTable [value]="JSONArray"
[lazy]="true" [responsive]="true" [rows]="rowCount"
[paginator]="true" selectionMode="single"
[(selection)]="selectedEvent"
(onRowSelect)="onRowSelect($event)"
[pageLinks]="5" [(first)] = "first"
class="ui-datatable-scrollable-wrapper view-table"
[totalRecords]="totalRecords" (onLazyLoad)="loadCarsLazy($event)">
<p-header>
<div class="ui-helper-clearfix">
<button type="button" pButton icon="fa-file-o" iconPos="left"
label="CSV" (click)="exportCSV(dataTable)" style="float:left">
</button>
</div>
</p-header>
<p-column field="col1" header="Column 1"></p-column>
<p-column field="col2" header="Column 2"></p-column>
<p-footer>
<div>
</div>
</p-footer>
</p-dataTable>
my typescript looks like this.
private _dataTable: any;
private rowCount: Number;
private pageNoSize: any;
exportCSV(dataTable) {
this.rowCount = 50;
this.pageNoSize = 'page=0&size=' + this.rowCount;
this._dataTable = dataTable;
this.getJSONData();
}
getJSONData() {
this.getJSONDataService.get(uri + this.pageNoSize)
.subscribe(
data => {
this._dataTable.value = data;
this._dataTable.exportCSV();
this.rowCount = 10;
},
error => {
},
);
}