UNPKG

ang-json2excel-btn

Version:

Angular library component to export JSON data to Excel file

121 lines (114 loc) 4.86 kB
import * as i0 from '@angular/core'; import { Injectable, Component, Input, NgModule } from '@angular/core'; import * as XLSX from 'xlsx'; import { CommonModule } from '@angular/common'; const EXCEL_EXTENSION = '.xlsx'; class AngJson2excelBtnService { constructor() { } exportToExcel(element, fileName) { const ws = XLSX.utils.json_to_sheet(element); // generate workbook and add the worksheet const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, ws, 'Sheet1'); // save to file XLSX.writeFile(workbook, `${fileName}${EXCEL_EXTENSION}`); } } AngJson2excelBtnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); AngJson2excelBtnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return []; } }); class AngJson2excelBtn { // Getters and Setters get btnText() { return this._btnText; } set btnText(value) { this._btnText = value; } get fileName() { return this._fileName; } set fileName(value) { this._fileName = value; } get json() { return this._json; } set json(value) { this._json = value; } constructor(angJson2excelBtnService) { this.angJson2excelBtnService = angJson2excelBtnService; this._btnText = 'Export to Excel'; this._fileName = 'export'; this._json = null; } json2ExcelInit() { if (this._json.length) { this.angJson2excelBtnService.exportToExcel(this._json, this._fileName); } else { console.error('No data to export'); } } ngOnInit() { } } AngJson2excelBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtn, deps: [{ token: AngJson2excelBtnService }], target: i0.ɵɵFactoryTarget.Component }); AngJson2excelBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: AngJson2excelBtn, selector: "ang-json2excel-btn", inputs: { btnText: "btnText", fileName: "fileName", json: "json" }, ngImport: i0, template: ` <button (click)="json2ExcelInit()" class="ang-json2excel-btn" > {{ _btnText }} </button> `, isInline: true, styles: [""] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtn, decorators: [{ type: Component, args: [{ selector: 'ang-json2excel-btn', template: ` <button (click)="json2ExcelInit()" class="ang-json2excel-btn" > {{ _btnText }} </button> ` }] }], ctorParameters: function () { return [{ type: AngJson2excelBtnService }]; }, propDecorators: { btnText: [{ type: Input }], fileName: [{ type: Input }], json: [{ type: Input }] } }); class AngJson2excelBtnModule { } AngJson2excelBtnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); AngJson2excelBtnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnModule, declarations: [AngJson2excelBtn], imports: [CommonModule], exports: [AngJson2excelBtn] }); AngJson2excelBtnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnModule, imports: [CommonModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtnModule, decorators: [{ type: NgModule, args: [{ declarations: [ AngJson2excelBtn ], imports: [ CommonModule ], exports: [ AngJson2excelBtn ] }] }] }); /* * Public API Surface of ang-json2excel-btn */ /** * Generated bundle index. Do not edit. */ export { AngJson2excelBtn, AngJson2excelBtnModule, AngJson2excelBtnService }; //# sourceMappingURL=ang-json2excel-btn.mjs.map