zoukankan      html  css  js  c++  java
  • html页面导出为excel表格

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    
    <body>
    <div class="tools">
        <button type="button" class="btn green" id="excell" onclick="method5('dataTable')">导出考勤表格</button>
    </div>
    
    <table border="1" id="dataTable">
        <tr>
            <td>王婷111</td>
            <td>一见倾城333 </td>
        </tr>
        <tr>
            <td>祈澈姑娘222</td>
            <td>Python开发者交流平台44</td>
        </tr>
        <tr>
            <td>wwwangting888</td>
            <td>13661725475</td>
        </tr>
    </table>
    
    </body>
    <script>
        //打印表格
        var idTmr;
    
        function getExplorer() {
            var explorer = window.navigator.userAgent;
            //ie
            if(explorer.indexOf("MSIE") >= 0) {
                return 'ie';
            }
            //firefox
            else if(explorer.indexOf("Firefox") >= 0) {
                return 'Firefox';
            }
            //Chrome
            else if(explorer.indexOf("Chrome") >= 0) {
                return 'Chrome';
            }
            //Opera
            else if(explorer.indexOf("Opera") >= 0) {
                return 'Opera';
            }
            //Safari
            else if(explorer.indexOf("Safari") >= 0) {
                return 'Safari';
            }
        }
    
        function method5(tableid) {
            if(getExplorer() == 'ie') {
                var curTbl = document.getElementById(tableid);
                var oXL = new ActiveXObject("Excel.Application");
                var oWB = oXL.Workbooks.Add();
                var xlsheet = oWB.Worksheets(1);
                var sel = document.body.createTextRange();
                sel.moveToElementText(curTbl);
                sel.select();
                sel.execCommand("Copy");
                xlsheet.Paste();
                oXL.Visible = true;
    
                try {
                    var fname = oXL.Application.GetSaveAsFilename("Excel.xls",
                            "Excel Spreadsheets (*.xls), *.xls");
                } catch(e) {
                    print("Nested catch caught " + e);
                } finally {
                    oWB.SaveAs(fname);
                    oWB.Close(savechanges = false);
                    oXL.Quit();
                    oXL = null;
                    idTmr = window.setInterval("Cleanup();", 1);
                }
    
            } else {
                tableToExcel(tableid)
            }
        }
    
        function Cleanup() {
            window.clearInterval(idTmr);
            CollectGarbage();
        }
        var tableToExcel = (function() {
            var uri = 'data:application/vnd.ms-excel;base64,',
                    template = '<html><head><meta charset="UTF-8"></head><body><table  border="1">{table}</table></body></html>',
                    base64 = function(
                            s) {
                        return window.btoa(unescape(encodeURIComponent(s)))
                    },
                    format = function(s, c) {
                        return s.replace(/{(w+)}/g, function(m, p) {
                            return c[p];
                        })
                    }
            return function(table, name) {
                if(!table.nodeType)
                    table = document.getElementById(table)
                var ctx = {
                    worksheet: name || 'Worksheet',
                    table: table.innerHTML
                }
                window.location.href = uri + base64(format(template, ctx))
            }
        })()
    </script>
    
    </html>
  • 相关阅读:
    半链接和关联转换
    My97 DatePicker图标触发
    My97 DatePicker普通调用
    JavaScript获取路径
    OR扩展
    linux vmstat使用说明
    linux sar查看网络流量
    library cache: mutex X
    My97DatePicker日历控制按日、按周和按月选择
    利用PowerDesigner15在win7系统下对MySQL 进行反向工程(三)
  • 原文地址:https://www.cnblogs.com/zeussbook/p/9996915.html
Copyright © 2011-2022 走看看