【问题标题】:no newlines in generated CSV生成的 CSV 中没有换行符
【发布时间】:2016-09-23 01:20:43
【问题描述】:

在我的页面中,我正在编写以下脚本来生成要下载的 CSV。 我的字符串 'str' 有一些新行字符的 "\n" 但生成的 csv 都在一行中。我错过了什么吗?

            var fileContent = "data:text/csv;charset=utf-8," + str;
            var a = document.createElement('a');
            a.href = fileContent;
            a.download = filename;
            var e = document.createEvent('MouseEvents');
            e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
            a.dispatchEvent(e);

【问题讨论】:

  • 你能展示你的str的样本吗?

标签: javascript csv


【解决方案1】:

您需要将数据转换为base64

在大多数浏览器中,它就像

一样简单
var fileContent = "data:text/csv;charset=utf-8;base64," + btoa(str);

但是,如果您有一个 Unicode 字符串,这将失败。考虑一下这个 - source = http://mdn.beonex.com/en/DOM/window.btoa.html#Unicode_Strings

function utf8_to_b64( str ) {
    return window.btoa(unescape(encodeURIComponent(str)));
}
var fileContent = "data:text/csv;charset=utf-8;base64," + utf8_to_b64(str);

【讨论】:

    猜你喜欢
    • 2021-10-07
    • 1970-01-01
    • 2014-10-07
    • 2012-03-03
    • 2011-08-22
    • 2012-06-02
    • 2011-02-14
    • 1970-01-01
    • 2021-01-31
    相关资源
    最近更新 更多