title: Adding worksheet to the excel file using javascript
body: <p>Just assume I have 3 tables. I want to insert tables in 3 work sheets (per page one table) into a single excel file (without need of ActiveXObject)</p>
  
  <p><img src="https://i.stack.imgur.com/kEAV8.gif" alt="enter image description here"></p>
  
  <p>I tried following code, but its creating only one worksheet</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&gt;{table}&lt;/table&gt;&lt;table&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
          }
          window.location.href = uri + base64(format(template, ctx))
      }
  })();
  </code></pre>