gpt4 book ai didi

javascript - 在 JavaScript 中使用 # 字符导出 CSV 数据不起作用

转载 作者:行者123 更新时间:2023-12-05 00:36:28 25 4
gpt4 key购买 nike

我将 JSON 数据导出为 CSV 格式并使用 JavaScript 下载。一切正常,除非数据带有井号 #。该函数不会导出所有数据,例如:

this is my first C# lesson in the academy, it exports only this is my first C and ignore the rest of it.


这是我的代码
this.handleRow = function (row) {
var finalVal = '';
for (var j = 0; j < row.length; j++) {
var innerValue = "";
if (row[j]) {
innerValue = row[j].toString();
}
if (row[j] instanceof Date) {
innerValue = row[j].toLocaleString();
}
var result = innerValue.replace(/"/g, '""');
if (result.search(/("|,|\n)/g) >= 0) {
result = '"' + result + '"';
}

if (j > 0) finalVal += ',';

finalVal += result;
}
return finalVal + '\n';
};

this.jsonToCsv = function (filename, rows) {
var csvFile = '';
for (var i = 0; i < rows.length; i++) {
csvFile += this.handleRow(rows[i]);
}

var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;'});
if (navigator.msSaveBlob) { // IE 10+
navigator.msSaveBlob(blob, filename);
} else {
var link = $window.document.createElement("a");
if (typeof link.download === "string") {
link.setAttribute("href", "data:text/csv;charset=utf-8,%EF%BB%BF" + encodeURI(csvFile));
link.setAttribute("download", filename);
link.style.visibility = 'hidden';
$window.document.body.appendChild(link);
link.click();
$window.document.body.removeChild(link);
}
}
};

最佳答案

encodeURI对 URI 中禁止的字符进行编码,而不是具有特殊含义的字符。#不会被编码,但它会启动 URI 的片段标识符部分。
使用encodeURIComponent反而。

关于javascript - 在 JavaScript 中使用 # 字符导出 CSV 数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66767270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com