• 问题集录--jquery将json转excel保持


    代码如下:

    <html>  
    <head>  
        <meta http-equiv="content-type" content="text/html; charset=utf-8">  
        <script type="text/javascript" src="jquery.min.js"></script>  
        <script type="text/javascript">  
            $(document).ready(function(){  
                $('#wwo').click(function(){  
                    var data = {"title":[{"value":"集团", "type":"ROW_HEADER_HEADER", "datatype":"string"}, {"value":"日期", "type":"ROW_HEADER_HEADER", "datatype":"string"}],"data":[[{"value":"好好", "type":"ROW_HEADER"}, {"value":"2015-08-24", "type":"ROW_HEADER"}]]};  
                    if(data == '')  
                        return;  
                    JSONToExcelConvertor(data.data, "Report", data.title);  
                });  
            });  
      
            function JSONToExcelConvertor(JSONData, FileName, ShowLabel) {  
                //先转化json  
                var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;  
                  
                var excel = '<table>';      
                  
                //设置表头  
                var row = "<tr>";  
                for (var i = 0, l = ShowLabel.length; i < l; i++) {  
                    row += "<td>" + ShowLabel[i].value + '</td>';  
                }  
                  
                  
                //换行  
                excel += row + "</tr>";  
                  
                //设置数据  
                for (var i = 0; i < arrData.length; i++) {  
                    var row = "<tr>";  
                      
                    for (var index in arrData[i]) {  
                        var value = arrData[i][index].value === "." ? "" : arrData[i][index].value;  
                        row += '<td>' + value + '</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);  
            }  
        </script>  
    </head>  
    <body>  
        <input type="button" id="wwo" value="导出" />  
    </body>  
    </html>
  • 相关阅读:
    原创js脚本实现百度网盘任意文件强制下载
    百度网盘大文件直接下载与下载提速的简单方法
    MVP架构的一个小例子
    PCQQ
    WPF
    百度网盘的限速破解
    何德何能?
    Maven多模块+SpringBoot 编译失败:程序包xxx不存在
    将Spring Boot项目部署到阿里云服务器上(二、安装MySQL服务器)
    将Spring Boot项目部署到阿里云服务器上(一、安装JDK)
  • 原文地址:https://www.cnblogs.com/tanwei81/p/6934834.html
Copyright © 2020-2023  润新知