js导出excel

来源:互联网 发布:腾达路由器软件升级 编辑:程序博客网 时间:2024/06/08 13:18

js导出excel

代码块

var idTmr;var vendor_all;function  getExplorer() {    var body = document.body || document.documentElement,            style = body.style,            vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'],            i = 0;    while (i < vendor.length) {        if (typeof style[vendor[i] + 'Transition'] === 'string') {            vendor_all = vendor[i];        }        i++;    }    var explorer = window.navigator.userAgent;    //ie     if (vendor_all == "ms") {        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 exportToExcel(tableid) {//整个表格拷贝到EXCEL中    if (getExplorer() == 'ie')    {        var curTbl = document.getElementById(tableid);        var oXL = new ActiveXObject("Excel.Application");        //创建AX对象excel         var oWB = oXL.Workbooks.Add();        //获取workbook对象         var xlsheet = oWB.Worksheets(1);        //激活当前sheet         var sel = document.body.createTextRange();        sel.moveToElementText(curTbl);        //把表格中的内容移到TextRange中         sel.select;        //全选TextRange中内容         sel.execCommand("Copy");        //复制TextRange中内容          xlsheet.Paste();        //粘贴到活动的EXCEL中               oXL.Visible = false;        //设置excel可见属性        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);            //xls.visible = false;            oXL.Quit();            oXL = null;            //结束excel进程,退出完成            //window.setInterval("Cleanup();",1);            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 xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{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))    }})();

爱学习的朋友们加 刚建的qq群交流学习<程序员之家 227493974>

0 0
原创粉丝点击