UNPKG

ang-json2excel-btn

Version:

Angular library component to export JSON data to Excel file

25 lines 3.18 kB
import { Injectable } from '@angular/core'; import * as XLSX from 'xlsx'; import * as i0 from "@angular/core"; const EXCEL_EXTENSION = '.xlsx'; export 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 []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5nLWpzb24yZXhjZWwtYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmctanNvbjJleGNlbC1idG4vc3JjL2xpYi9hbmctanNvbjJleGNlbC1idG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOztBQUM3QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFJaEMsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQztJQUVDLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBWSxFQUFFLFFBQWdCO1FBQ2xELE1BQU0sRUFBRSxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCwwQ0FBMEM7UUFDMUMsTUFBTSxRQUFRLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELGVBQWU7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLFFBQVEsR0FBRyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRTVELENBQUM7O29IQWRVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5nSnNvbjJleGNlbEJ0blNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIFxuICAgfVxuXG4gICBwdWJsaWMgZXhwb3J0VG9FeGNlbChlbGVtZW50OiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoZWxlbWVudCk7XG4gICAgLy8gZ2VuZXJhdGUgd29ya2Jvb2sgYW5kIGFkZCB0aGUgd29ya3NoZWV0XG4gICAgY29uc3Qgd29ya2Jvb2s6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3b3JrYm9vaywgd3MsICdTaGVldDEnKTtcbiAgICAvLyBzYXZlIHRvIGZpbGVcbiAgICBYTFNYLndyaXRlRmlsZSh3b3JrYm9vaywgYCR7ZmlsZU5hbWV9JHtFWENFTF9FWFRFTlNJT059YCk7XG5cbiAgfVxufVxuIl19