1. 程式人生 > >將前臺表格資訊匯出到EXCEL

將前臺表格資訊匯出到EXCEL


        $("#btn_export").click(function () {
            //js匯出Excel的方法
            //利用html的table表格的格式書寫想要的excel格式
            //獲取table的內容並組裝成一個xls格式的字串
            //利用Blob物件生成一個xls格式的檔案
            //利用a標籤的download屬性建立檔名,並下載到本地
            //將字串轉成xls檔案,主要利用Blob物件和URL.createObjectURL() 方法
            //Blob物件表示不可變的類似檔案物件的原始資料。Blob表示不一定是JavaScript原生形式的資料。 File 介面基於Blob,繼承了 blob的功能並將其擴充套件使其支援使用者系統上的檔案。
            //URL.createObjectURL() 靜態方法會建立一個 DOMString,其中包含一個表示引數中給出的物件的URL。這個 URL 的生命週期和建立它的視窗中的 document 繫結。這個新的URL 物件表示指定的 File 物件或 Blob 物件。


            //讀取gridPanel中的HTML
            var oHtml = document.getElementById('gridPanel').outerHTML;
            //拼裝 HTML
            var excelHtml = '<html>';
            excelHtml +='<head>';
            excelHtml +='<meta charset="utf-8" />';
            excelHtml +='</head>';
            excelHtml +='<body>'+oHtml+'</body>';
            excelHtml += '</html> ';
            var excelBlob = new Blob([excelHtml], {type: 'application/vnd.ms-excel'})
            // 建立一個a標籤
            var oA = document.createElement('a');
            // 利用URL.createObjectURL()方法為a元素生成blob URL
            oA.href = URL.createObjectURL(excelBlob);
            // 給檔案命名
            oA.download = '專案問題綜合統計.xls';
            // 模擬點選
            oA.click();
            // 移除
            oA.remove();
        });