title: How to export a HTML table to Excel supported by Chrome and IE?
body: <p>On my MVC project I have a HTML table bound with Knockout.</p>
  
  <p>I'm trying to Export the table to Excel.</p>
  
  <p>I tried on client side with JavaScript:</p>
  
  <pre><code>self.exportToExcel = function () {
      javascript: window.open('data:application/vnd.ms-excel,' + $("#tableToprint").innerHTML());
  }
  </code></pre>
  
  <p>OR:</p>
  
  <pre><code>var tableToExcel = (function () {
  var uri = 'data:application/vnd.ms-excel;base64,'
  , template = '&lt;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"&gt;&lt;head&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;&lt;x:ExcelWorkbook&gt;&lt;x:ExcelWorksheets&gt;&lt;x:ExcelWorksheet&gt;&lt;x:Name&gt;{worksheet}&lt;/x:Name&gt;&lt;x:WorksheetOptions&gt;&lt;x:DisplayGridlines/&gt;&lt;/x:WorksheetOptions&gt;&lt;/x:ExcelWorksheet&gt;&lt;/x:ExcelWorksheets&gt;&lt;/x:ExcelWorkbook&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;/head&gt;&lt;body&gt;&lt;table cellspacing="0" rules="rows" border="1" style="color:Black;background-color:White;border-color:#CCCCCC;border-width:1px;border-style:None;width:100%;border-collapse:collapse;font-size:9pt;text-align:center;"&gt;{table}&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;'
  , 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 }
      if (navigator.msSaveBlob) {
          var blob = new Blob([format(template, ctx)], { type: 'application/vnd.ms-excel', endings: 'native' });
          navigator.msSaveBlob(blob, 'export.xlsx')
      } else {
          window.location.href = uri + base64(format(template, ctx))
      }
  }
  })()
  </code></pre>
  
  <p>But both codes work in Chrome but not in IE.</p>
  
  <p>I would like to do it on client side using JavaScript or jQuery but if there is not a solution that is supported by both browsers I can also do it in server side with an AJAX Post Request to my Web API.</p>
  
  <p><strong>How can I export a HTML table to Excel supported by Chrome and IE using JavaScript/jQuery OR AJAX and Web API?</strong></p>
  
  <p>Any advice?</p>