ホームページ  >  記事  >  ウェブフロントエンド  >  テーブルデータをjsでExcelファイルにエクスポート

テーブルデータをjsでExcelファイルにエクスポート

小云云
小云云オリジナル
2018-05-25 16:48:483060ブラウズ

この記事では主に、テーブルデータを js で 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); 
            } 
        })()

Excelをダウンロード/ダウンロード

コンテキストテーブルレイアウト
支払い日 ステータス
商品1 2013/11/23 発送予定
商品2 2013/11/10 配送
商品3 2013/10/20 確認中
製品 4 2013/10/20 返品されました

関連推奨事項:

js エクスポート Excel テーブルが 26 ビット英語文字ソリューション ES6 を超えています

PHP の使用Excel インスタンス共有をエクスポートするためのネイティブ メソッド

Excel データをエクスポートするための PHP クラス ライブラリの使用例

以上がテーブルデータをjsでExcelファイルにエクスポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。