javascript 使用post提交数据并导出csv表格的方法示例

javascript 使用post提交数据并导出csv表格的方法示例

封装js导出表格的方法

/**
 * 导出excel
 * @param {Object} title  标题列key-val
 * @param {Object} data   值列key-val
 * @param {Object} fileName  文件名称
 */
function JSONToExcelConvertor(title, data, fileName) {
    
    
 var CSV = '';
 var row = "";

 for (var i = 0; i < title.length; i++) {
    
    
  if(title[i].title){
    
    
   row += title[i].title + ',';
  }
 }
 row = row.slice(0, -1);
 CSV += row + '\r\n';

 for (var i = 0; i < data.length; i++) {
    
    
  var row = "";
  for (var j = 0; j < title.length; j++) {
    
    
   if(title[j].title){
    
    
    row += '"' + (data[i][title[j].field] ? data[i][title[j].field] : "") + '"\t,';
   }
  }
  row.slice(0, row.length - 1);
  CSV += row + '\r\n';
 }

 if (CSV == '') {
    
    
  alert("Invalid data");
  return;
 }

 var fileName = fileName;
 var uri = new Blob(['\ufeff' + CSV], {
    
    type:"text/csv"});

 if (window.navigator && window.navigator.msSaveOrOpenBlob) {
    
     // for IE
  window.navigator.msSaveOrOpenBlob(CSV, fileName + ".csv");
 } else {
    
     // for Non-IE(chrome、firefox etc.)
  var link = document.createElement("a");
  link.href = URL.createObjectURL(uri);

  link.style = "visibility:hidden";
  link.download = fileName + ".csv";
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
 }
}

post调用

 //公用方法 根据form表单数据获取流量分析
    function export_storemall_flow() {
    
    
        //得到form表单内容提交给后台得到返回数据
        let form = $("#store_form_flow").serialize();
        var csrf = $("#_csrf").val();
        var hq_activity_id = $("#hq_activity_id").val();
        form += '&_csrf=' + csrf + '&hq_activity_id=' + hq_activity_id;

        console.log('form', form);

        $.post("/storemall/index/exportflow", form, function (e) {
    
    

            if (e.status == 0) {
    
    
                console.log(e);
                data = e.data;
                JSONToExcelConvertor(data.title, data.member_order_data, data.file_name);
            }
        }, 'json');

    }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/guo_qiangqiang/article/details/114268523