首頁  >  文章  >  web前端  >  前端js列印(匯出)excel表格的方法實例

前端js列印(匯出)excel表格的方法實例

小云云
小云云原創
2018-03-07 13:06:133238瀏覽

本文主要和大家分享前端js列印(匯出)excel表格的方法實例,希望能幫助大家。

產品原型:

圖片.png

功能需求:點選匯出考勤表格按鈕,會自動下載成Excel格式

圖片.png

#圖片.png

jsp頁面程式碼:

js程式碼

//打印表格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 = '{table}
', 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))         }     })()

完整的可複製貼上的demo:



    
        
        
    

    
        

                     

                                                                                                                                                                                                     
王婷111一见倾城333 
祈澈姑娘222Python开发者交流平台44
wwwangting88813661725475
         

相關推薦:

前端html表格產生excel表格實例

實例詳解javascript將json格式陣列下載為excel表格

用javscript匯出html中的資料到excel表格中

以上是前端js列印(匯出)excel表格的方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn