js实现数据导出,js下载scv文件

版权声明: https://blog.csdn.net/qq_32858649/article/details/88018722
//处理csv数据,使得数据进行转化,csv下载函数开始
//导出为scv格式示例:https://segmentfault.com/a/1190000011389463

上面的地址是我学习的教程地址,非常的详细,这个函数是我最早开始学习js的时候使用的。比较老了。需要配合jq。但是懂的自己改改也就ok了。

核心:

cvs文件自己用text记事本打开看看结构,然后就能发现数据是可以简单拼接的。所以是很方便的。

自语:execl?不会,而且有scv文件了自己拿office转格式不会吗?

以下为谷歌内核情况下

function svgexport(filename){
    //处理标题
    let title='';
    for(let csv in svg[0])
    {
        title=title+","+csv;
    }
    title=title.substring(1,title.length)+"\r\n";
    //console.log(title.substring(1,title.length));
    //处理内容
    let body='',inbody='';
    for(let i=0;i<svg.length;i++){
        for(let key in svg[i]){
            inbody=inbody+","+svg[i][key];
        }
        body=body+inbody.substring(1,inbody.length)+"\r\n";
        inbody='';
    }
//利用Blob处理,解决千万级csv数据转化问题
    let _utf = "\uFEFF"; // 为了使Excel以utf-8的编码模式,同时也是解决中文乱码的问题
    if (window.Blob && window.URL && window.URL.createObjectURL) {
        csvData = new Blob([_utf + title+body], {
            type: 'text/csv'
        });
        csvData=URL.createObjectURL(csvData);
    }
    else{
        csvData = "data:text/csv;charset=utf-8,\ufeff"+encodeURIComponent(title+body);
    }

//对a标签增加属性,达到下载目的
    $(this).attr({
        'download': filename,
        'href': csvData,
        'target': '_blank'
    });
};
//仅谷歌下使用a标签导出scv数据,调用函数方式,csv下载调用方式
$("a[id='export']").on('click', function (event) {
    filename="人员注册数据导出.csv";
    svgexport.apply(this, [filename]);
});

猜你喜欢

转载自blog.csdn.net/qq_32858649/article/details/88018722