如何支持" "使用javascript导出CSV文件时

How to support " " when exporting csv file with javascript

本文关键字:quot 导出 javascript CSV 文件 使用 何支持 支持      更新时间:2023-09-26

我试图将数组数据导出到csv文件,除非它有断行("'n"),否则工作正常。我希望它能支持单行换行,有可能吗?

我尝试将'n替换为"'n"或"'n",但它不起作用

我正在使用的函数:

function arrayToCSVConvertor(arrData, ReportTitle) {
    var CSV='';
    arrData.forEach(function(infoArray, index){
        var dataString = infoArray.join(",");
        //dataString= dataString.split(''n').join('''n');//Here, need something to suport "'n"
        CSV += dataString+ "'n";
    });
    if (CSV == '') {
        alert("Invalid data");
        return;
    }
    //create a link and click then remove
    var link = document.createElement("a");
    link.id="lnkDwnldLnk";
    //this part will append the anchor tag and remove it after automatic click
    document.body.appendChild(link);
    var csv = CSV;
/*    window.open(encodeURI(csv));*/
    var blob = new Blob([csv], { type: 'text/csv' });
    //var csvUrl = window.webkitURL.createObjectURL(blob);
    var csvUrl = createObjectURL(blob);
    var filename = ReportTitle+'.csv';
    if(navigator.msSaveBlob){//IE 10
        return navigator.msSaveBlob(blob, filename);
    }else{
        $("#lnkDwnldLnk")
            .attr({
                'download': filename,
                'href': csvUrl
            });
        $('#lnkDwnldLnk')[0].click();
        document.body.removeChild(link);
    }
}

PS:我在数组中有中文单词

我建议避免直接使用CSV和它所有的小变体的痛苦,只使用一些像Papa Parse这样的库来为你处理这项工作。

基本上,在一个值中使用的新行应该是'n,结束记录的新行应该是'r'n,但正如@user2864740评论的那样,结果根据文件的编码和你要打开它的地方而变化