diff --git a/src/app/workspace-admin/results/results.component.ts b/src/app/workspace-admin/results/results.component.ts index 15d2f17d26c80871a7f9f0e34ed1b616a3320040..32e214b0d48eb0de77aff05ebc3d6fe30ba360bd 100644 --- a/src/app/workspace-admin/results/results.component.ts +++ b/src/app/workspace-admin/results/results.component.ts @@ -82,6 +82,7 @@ export class ResultsComponent implements OnInit { (responseData: UnitResponse[]) => { this.mds.setSpinnerOff(); if (responseData.length > 0) { + const bom = '\ufeff'; const columnDelimiter = ';'; const lineDelimiter = '\n'; let myCsvData = 'groupname' + columnDelimiter @@ -123,7 +124,7 @@ export class ResultsComponent implements OnInit { myCsvData += lineDelimiter; } }); - const blob = new Blob([myCsvData], {type: 'text/csv;charset=utf-8'}); + const blob = new Blob([bom + myCsvData], {type: 'text/csv;charset=utf-8'}); saveAs(blob, 'iqb-testcenter-responses.csv'); } else { this.snackBar.open('Keine Daten verfügbar.', 'Fehler', {duration: 3000}); @@ -157,6 +158,7 @@ export class ResultsComponent implements OnInit { }); }); + const bom = '\ufeff'; const columnDelimiter = ';'; const lineDelimiter = '\n'; let myCsvData = 'groupname' + columnDelimiter + 'loginname' + columnDelimiter + 'code' + columnDelimiter + @@ -184,7 +186,7 @@ export class ResultsComponent implements OnInit { myCsvData += '"' + resp.reviewtime + '"' + columnDelimiter + '"' + resp.entry + '"' + lineDelimiter; } }); - const blob = new Blob([myCsvData], {type: 'text/csv;charset=utf-8'}); + const blob = new Blob([bom + myCsvData], {type: 'text/csv;charset=utf-8'}); saveAs(blob, 'iqb-testcenter-reviews.csv'); } else { this.snackBar.open('Keine Daten verfügbar.', 'Fehler', {duration: 3000}); @@ -205,6 +207,7 @@ export class ResultsComponent implements OnInit { (responseData: LogData[]) => { this.mds.setSpinnerOff(); if (responseData.length > 0) { + const bom = '\ufeff'; const columnDelimiter = ';'; const lineDelimiter = '\n'; let myCsvData = 'groupname' + columnDelimiter + 'loginname' + columnDelimiter + 'code' + columnDelimiter + @@ -217,7 +220,7 @@ export class ResultsComponent implements OnInit { resp.timestamp.toString() + '"' + columnDelimiter + resp.logentry.replace(/\\"/g, '""') + lineDelimiter; } }); - const blob = new Blob([myCsvData], {type: 'text/csv;charset=utf-8'}); + const blob = new Blob([bom + myCsvData], {type: 'text/csv;charset=utf-8'}); saveAs(blob, 'iqb-testcenter-logs.csv'); } else { this.snackBar.open('Keine Daten verfügbar.', 'Fehler', {duration: 3000});