31.json导出excel

function JSONToExcel(JSONData, FileName) {  
    
    //先转化json  
    var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;  
       
    var $excel = '<table>';    
    //设置表头  
    
    //设置表头  
    var $row = "<tr>";
    let l = arrData.length;
    if(l==0){
        return
    }
    for(var i in JSONData[0]){
        if(i=="key")
        continue
        $row += "<td>" + BankAttrCodeToString[i] + '</td>'; 
    }
      
    //换行  
    $excel += $row + "</tr>";   
  
       //设置数据  
    for (var i = 0; i < arrData.length; i++) {  
        var row = "<tr>";  
          
        for (var index in arrData[i]) {  
            if(index=="key")
            continue
            let t = arrData[i][index]
            if(index=="date"){
                t = new Date(t).toLocaleString()
            }
            if(index=="createTime"){
                t = new Date(t).toLocaleString()
            }
            if(index=="isBlack"){
                t = t?"是":"否"
            }
            if(index=="type"){
                t = GetCashType[t]
            }
              if(index=="status"){
                  t = $LGetCashStatus[t]
              }
            row += '<td>' + t + '</td>';  
        }  
          
        $excel += row + "</tr>";  
    }  
        
      $excel += "</table>";  
    var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";  
    excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';  
    excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel';  
    excelFile += '; charset=UTF-8">';  
    excelFile += "<head>";  
    excelFile += "<!--[if gte mso 9]>";  
    excelFile += "<xml>";  
    excelFile += "<x:ExcelWorkbook>";  
    excelFile += "<x:ExcelWorksheets>";  
    excelFile += "<x:ExcelWorksheet>";  
    excelFile += "<x:Name>";  
    excelFile += "{worksheet}";  
    excelFile += "</x:Name>";  
    excelFile += "<x:WorksheetOptions>";  
    excelFile += "<x:DisplayGridlines/>";  
    excelFile += "</x:WorksheetOptions>";  
    excelFile += "</x:ExcelWorksheet>";  
    excelFile += "</x:ExcelWorksheets>";  
    excelFile += "</x:ExcelWorkbook>";  
    excelFile += "</xml>";  
    excelFile += "<![endif]-->";  
    excelFile += "</head>";  
    excelFile += "<body>";  
    excelFile += $excel;  
    excelFile += "</body>";  
    excelFile += "</html>";  
  
              
    var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile);  
      
    var link = document.createElement("a");      
    link.href = uri;  
      
    link.style = "visibility:hidden";  
    link.download = FileName + ".xls";  
      
    document.body.appendChild(link);  
    link.click();  
    document.body.removeChild(link);  
}  
注:JSONData格式[{key:value},{key:value},{key:value},{key:value}]
原文地址:https://www.cnblogs.com/famLiu/p/7325895.html