• JQ 导出 Excel


    除IE 浏览器外

    <!DOCTYPE html>
    <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(){  
                    //data 需要导出的数据
                    var data = [{userName:'lily',age:28,job:"teacher",city:"上海"},
                                {userName:'lucy',age:19,job:"doctor",city:"深圳"}];  
                    if(data == '')  
                        return; 
                    //excel 表格输出顺序及标题
                    var title=[{userName:'姓名'},{job:'职业'},{age:'年龄'},{city:'城市'}]; 
                    toExcel("Report", data, title);  
                });  
            });  
            //FileName 生成的Excel文件名称
            function toExcel(FileName, JSONData, ShowLabel) {  
                //先转化json  
                var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;  
                  
                var excel = '<table>';      
                  
                //设置表头  
                var row = "<tr align='left'>";//设置Excel的左居中
                for (var i = 0, l = ShowLabel.length; i < l; i++) {  
                    for (var key in ShowLabel[i]) {
                        row += "<td>" + ShowLabel[i][key] + '</td>';  
                    }
                }  
                  
                  
                //换行  
                excel += row + "</tr>";  
                  
                //设置数据  
                for (var i = 0; i < arrData.length; i++) {  
                    var rowData = "<tr align='left'>"; 
    
                    for (var y = 0; y < ShowLabel.length; y++) {
                        for(var k in ShowLabel[y]){
                            if (ShowLabel[y].hasOwnProperty(k)) {
                                 rowData += "<td style='vnd.ms-excel.numberformat:@'>" + (arrData[i][k]===null? "" : arrData[i][k]) + "</td>";
                      //vnd.ms-excel.numberformat:@ 输出为文本 } } } excel
    += rowData + "</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>
  • 相关阅读:
    文件的基本操作
    ps工作界面
    HDU 6300
    HDU 6298
    HDU 2037
    HDU 2036
    Tesseract OCR
    What is the difference between position: static,relative,absolute,fixed
    How to Call a synchronize function asynchronizly in C#
    WCF note1
  • 原文地址:https://www.cnblogs.com/amy2017/p/7878810.html
Copyright © 2020-2023  润新知