JSFiddle - React, Tailwind, and code Playground

HTML

<table id='myTable'>
    <tr>
        <td>
            This is a test
        </td>
    </tr>
</table>

JavaScript

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 ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML
        };
                                
        var a = document.createElement('a');
        var myFileName = 'MyFileName.xls';
        a.download = myFileName;
        a.setAttribute('href', uri + base64(format(template, ctx)));
        a.appendChild(document.createTextNode(myFileName));
        document.getElementById('myTable').appendChild( a);
        
    };
})();

tableToExcel('myTable', 'test2')