Skip to content
Snippets Groups Projects
Unverified Commit ca0c0af8 authored by Philipp F's avatar Philipp F Committed by GitHub
Browse files

Merge pull request #314 from iqb-berlin/bugfix/MS-Excel_CSV_Zeichenkodierung

Prepend UTF-8 BOM to csv raw data #162
parents 2607e6e4 92fa28e6
No related branches found
No related tags found
No related merge requests found
Pipeline #27320 passed
......@@ -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});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment