diff --git a/package.json b/package.json index 0227918e..907fbb91 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "markdown-it": "14.3.0", "rxjs": "7.8.2", "tslib": "2.8.1", - "xlsx": "0.18.5", "yaml": "2.9.0", "yamljs": "0.3.0", "zone.js": "0.15.1" diff --git a/src/app/pages/mapping/mapping.component.ts b/src/app/pages/mapping/mapping.component.ts index 06614d76..8836cb08 100644 --- a/src/app/pages/mapping/mapping.component.ts +++ b/src/app/pages/mapping/mapping.component.ts @@ -11,7 +11,7 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatSort, MatSortModule } from '@angular/material/sort'; import { COMMA, ENTER } from '@angular/cdk/keycodes'; import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import * as XLSX from 'xlsx'; + import { LoaderService } from 'src/app/service/loader/data-loader.service'; import { DialogInfo, @@ -186,11 +186,42 @@ export class MappingComponent implements OnInit, AfterViewInit { } exportToExcel() { - let element = document.getElementById('excel-table'); - const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element, { raw: true }); - const wb: XLSX.WorkBook = XLSX.utils.book_new(); - XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); - XLSX.writeFile(wb, 'DSOMM - Activities.xlsx'); + const table = document.getElementById('excel-table'); + if (!table) { + return; + } + + const excelXml = ` + +
+ + + + ${table.outerHTML} + + `; + + const blob = new Blob([excelXml], { type: 'application/vnd.ms-excel' }); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = 'DSOMM - Activities.xls'; + link.click(); + URL.revokeObjectURL(url); + console.log(`${perfNow()}: Mapping: Exported to Excel`); }