欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js中table数据导出excel文件

程序员文章站 2022-06-08 17:08:50
...

本文主要和大家分享一些代码,主要和大家分享js中table数据导出excel文件的方法实例,希望能帮助到大家。

表格转换成excel并下载

(document).ready(function () {
(“#myBtn”).click(function () {    //点击下载按钮,执行方法 
                CreateExcel(“myTable”,”test”); 
            }); 
        }); 
        //将table导出到excel 
        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 CreateExcel(tableid,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(fileName + “.xls”,  //文件名和文件格式  但尝试改了一下fileName 这里并不影响 
                        “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,fileName)    //调用tableToExcex   table的id 和 要生成的文件名            } 
        } 
        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)) 
                a = document.createElement(“a”); 
                a.download = name; 
                a.href = uri + base64(format(template, ctx)); 
                document.body.appendChild(a); 
                a.click(); 
                document.body.removeChild(a); 
            } 
        })()

下载/Download excel

上下文表格布局
产品 付款日期 状态
产品1 23/11/2013 待发货
产品2 10/11/2013 发货中
产品3 20/10/2013 待确认
产品4 20/10/2013 已退货

相关推荐:

js导出Excel表格超出26位英文字符的解决方法ES6

php使用原生的方法导出excel实例分享

PHP实现导出excel数据的类库用法示例

以上就是js中table数据导出excel文件的详细内容,更多请关注其它相关文章!