无法下载html作为excel

时间:2016-07-27 16:05:39

标签: javascript jquery excel

通过使用下面的javascript,我已经开始获得表标签和excel。之前它曾经很好用。

var tableToExcel = (function() {

    var uri = 'data:application/vnd.ms-excel;base64,', 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]--></head><body><table>{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) {
        if (!table.nodeType)
            table = document.getElementById(table);
        var cln=table.cloneNode(true);
        var paras = cln.getElementsByClassName('ignore');

        while(paras[0]) {
            paras[0].parentNode.removeChild(paras[0]);
        }
        var ctx = {
            worksheet : name || 'Worksheet',
            table : cln.innerHTML
        }
        window.location.href = uri + base64(format(template, ctx))
    }
})();

0 个答案:

没有答案