js导出csv文件

本文介绍了如何利用json2csv库在前端JavaScript环境中将数据转换并导出为CSV文件,首先需要安装该依赖,然后调用特定方法实现数据转换和下载操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js导出csv文件

用到了json2csv依赖包,首先安装依赖

npm install json2csv --save
const { Parser } =  require('json2csv');

/**
  * @param {String} fields[表头]
  * @param {String} data[导出的json数据]
  * @param {String} fileName[导出的文件名]
  */
exportCSV(fields,data,fileName){
  const csv = createCVSData(fields,data);
    if(isIE()){
        // IE10以及Edge浏览器
        const BOM = "\uFEFF";
        // 文件转Blob格式
        let csvData = new Blob([BOM + csv], { type: "text/csv" });
        navigator.msSaveBlob(csvData, `${fileName}.csv`);
    }else {
        let downloadLink = document.createElement("a");
        downloadLink.href = getDownloadUrl(cvs);
        downloadLink.download = `${fileName}.csv`; 
        document.body.appendChild(downloadLink);
        downloadLink.click();
        document.body.removeChild(downloadLink); 
    }
    return csv;
},
const createCSVData  = function(fields,data){
    const json2csvParser  = new Parser({fields}) ;
    const csv = json2csvParser.parse(data)
    return csv;
}
const getDownloadUrl = function(csvData){
    var _utf = "\uFEFF"; // 为了使Excel以utf-8的编码模式,同时也是解决中文乱码的问题
    if (window.Blob && window.URL && window.URL.createObjectURL) {
        var csvData = new Blob([_utf + csvData], {
            type: 'text/csv'
        });
        return URL.createObjectURL(csvData);
    }
}
const isIE = function() {
    let isIE = false;
    if (navigator.userAgent.indexOf("compatible") > -1 &&navigator.userAgent.indexOf("MSIE") > -1) {
        // ie浏览器
        isIE = true;
    }
    if (navigator.userAgent.indexOf("Trident") > -1) {
        // edge 浏览器
        isIE = true;
    }
    return isIE;
}

调用:


//fields 要与json的key名相对应
const fields = ['id','date','channal','addDeviced'];
exportCSV(fields,jsonData,'文件名');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值