【发布时间】:2014-11-07 13:09:12
【问题描述】:
我越来越奇怪的问题是,每当我在具有货币符号的 csv 中导出数据时,它都会在货币符号旁边的数据中添加垃圾额外字符。
例如,如果我的数据 = 法国 - 管理费 1 x 100 英镑 当我在 Excel 中打开它时,我得到的结果类似于 = France - Admin Fee 1 x 100 英镑。我的代码是:
<html>
<head>
<script type="text/javascript">
function CreateCSV()
{
var buffer = "France - Admin Fee 1 x £100";
buffer = "\"" + buffer + "\"";
// buffer = "" + euro; //"\u2034";
var uri = "data:text/csv;charset=UTF," + encodeURIComponent(buffer);
var fileName = "InvoiceData.csv";
var link = document.createElement("a");
if (link.download !== undefined) { // feature detection
// Browsers that support HTML5 download attribute
link.setAttribute("href", uri);
link.setAttribute("download", fileName);
}
else if (navigator.msSaveBlob) { // IE 10+
link.addEventListener("click", function (event) {
var blob = new Blob([buffer], {
"type": "data:text/csv;charset=UTF;"
});
navigator.msSaveBlob(blob, fileName);
}, false);
}
else {
// it needs to implement server side export
}
link.innerHTML = "Export to CSV";
link.click();
}
</script>
</head>
<body>
<input type="button" value="Download CSV" onclick="CreateCSV()" />
</body>
</html>
当我在记事本中打开它时。我看不到垃圾字符。如果您能帮我解决问题,我将不胜感激。
【问题讨论】:
标签: javascript html export-to-csv