Ich versuche, einen CSV-Bericht mit Javascript herunterzuladen. In CSV treten jedoch einige Codierungsprobleme auf. Bekomme &
wie &
Das Folgende ist mein JS-Code. Ich habe versucht, Lösungen von Google, aber ohne Erfolg.
JSONToCSVConvertor(ReportTitle, ShowLabel) {
let csv = [];
var tableId = document.querySelector("table").getAttribute("id");
var headers = document.querySelectorAll("table#"+tableId+" tr");
for (var i = 0; i < headers.length; i++) {
var row = [], cols = headers[i].querySelectorAll("td, th");
for (var j = 0; j < cols.length; j++)
row.push(cols[j].innerHTML);
csv.push(row.join(", "));
}
this.downloadCSV(csv.join("n"), sampleTitle);
downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
var uri = "data:text/csv;charset=utf-8" + encodeURI(csv);
// Download link
downloadLink = document.createElement("a");
downloadLink.href = uri;
downloadLink.download = filename + ".csv";
// Hide download link
downloadLink.style.display = "none";
// Add the link to DOM
document.body.appendChild(downloadLink);
// Click download link
downloadLink.click();
document.body.removeChild(downloadLink);
}
Wie bekomme ich die genauen Sonderzeichen in CSV? Irgendeine Hilfe?
Antworten:
0 für die Antwort № 1Ich bin mir nicht sicher, ob das übertrieben ist ...
function encodeRFC5987ValueChars(str) {
return window.encodeURIComponent(str)
.replace(/["()]/g, window.escape)
.replace(/*/g, "%2A")
.replace(/%(?:7C|60|5E)/g, window.unescape);
}