zoukankan      html  css  js  c++  java
  • 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}]
  • 相关阅读:
    SOGo 2.0 发布,群组协同工作系统
    微软随.NET 4.5发布新REST API框架
    DynamicReports 3.0.2 发布,Java 报表方案
    使用 Ant 集成 IBM Security AppScan Standard 进行自动测试
    SUSE 用 zypper 工具 安装 rpm
    嵌入式ARM系统中OpenCV的移植
    qtopiax86安装配置及编程方法
    [转]QTCreator的使用
    在Qt Creator中使用OpenCV库
    vim
  • 原文地址:https://www.cnblogs.com/famLiu/p/7325895.html
Copyright © 2011-2022 走看看