Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML to Excel export not Working in Safari Mac

HTML table to Excel export is working in all other browsers, but it is not working in Apple Safari on Mac.

This is my JavaScript code:

    <script type="text/javascript"> 
    var tableToExcel = (function () {
        var uri = 'data:application/xls,'
        , 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, filename) {
            if (!table.nodeType) table = document.getElementById(table)
            var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }

            document.getElementById("dlink").href = uri + base64(format(template, ctx));
            document.getElementById("dlink").download = filename;
            document.getElementById("dlink").click();

        }
    })()
    </script>
like image 415
Parmar Kamlesh Avatar asked Nov 10 '22 23:11

Parmar Kamlesh


1 Answers

Because it is not supported. See http://caniuse.com/#search=download

like image 181
Alan Tam Avatar answered Nov 14 '22 21:11

Alan Tam