美文网首页
导出excel文档

导出excel文档

作者: 月桂清山 | 来源:发表于2018-10-24 17:20 被阅读0次

    getExcel(tableid,name,filename){

            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 exportExcel(tableid,name,filename) {

                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,name,filename)

                }

            }

            function Cleanup() {

                window.clearInterval(idTmr);

                CollectGarbage();

            }

            var tableToExcel = (function() {

                var uri = 'data:application/vnd.ms-excel;base64,',

                //Excel样式代码

                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]-->'+

                            ' <style type="text/css">'+

                            '.excelTable  {'+

                            'border-collapse:collapse;'+

                             ' border:thin solid #999; '+

                            '}'+

                            '   .excelTable  th {'+

                            '   border: thin solid #999;'+

                            '  padding:20px;'+

                            '  text-align: center;'+

                            '  border-top: thin solid #999;'+

                            ' background-color: #E6E6E6;'+

                            ' }'+

                            ' .excelTable  td{'+

                            ' border:thin solid #999;'+

                            '  padding:2px 5px;'+

                            '  text-align: center;'+

                            ' }</style>'+

                            '</head><body ><table class="excelTable">{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, filename) {

                    if (!table.nodeType) table = document.getElementById(table)

                    console.log(table)

                    var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}

                    document.getElementById("bb").href = uri + base64(format(template, ctx));

                    document.getElementById("bb").download = "123.xls";

                }

            })()

            exportExcel(tableid,name,filename)

        }

    相关文章

      网友评论

          本文标题:导出excel文档

          本文链接:https://www.haomeiwen.com/subject/omuxtqtx.html