title: Warning error when export to excel (HTML to Excel) using table2excel.js
body: <p>When I'm exporting to Excel (HTML or Excel) using table2excel.js getting below error.</p>
  
  <p>"The file you are trying to open, '[filename]', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?"  (Yes | No | Help)</p>
  
  <pre><code>function exportToExcel(){
      $('#row').table2excel({
          exclude: ".noExl",
          name: "SearchDetails",
          filename: "SearchDetails"
      });
  }
  </code></pre>
  
  <p>/* 
    *  jQuery table2excel - v1.0.2 
    *  jQuery plugin to export an .xls file in browser from an HTML table 
    *  <a href="https://github.com/rainabba/jquery-table2excel" rel="nofollow">https://github.com/rainabba/jquery-table2excel</a> 
    * 
    *  Made by rainabba 
    *  Under MIT License 
    */ 
   //table2excel.js </p>
  
  <p>;(function ( $, window, document, undefined ) { 
       var pluginName = "table2excel", </p>
  
  <pre><code> defaults = { 
       exclude: ".noExl", 
               name: "Table2Excel" 
   }; 
  
  
   // The actual plugin constructor 
   function Plugin ( element, options ) { 
           this.element = element; 
           // jQuery has an extend method which merges the contents of two or 
           // more objects, storing the result in the first object. The first object 
           // is generally empty as we don't want to alter the default options for 
           // future instances of the plugin 
           // 
           this.settings = $.extend( {}, defaults, options ); 
           this._defaults = defaults; 
           this._name = pluginName; 
           this.init(); 
   } 
  
  
   Plugin.prototype = { 
       init: function () { 
           var e = this; 
  
  
          var utf8Heading = "&lt;meta http-equiv=\"content-type\" content=\"application/vnd.ms-excel; charset=UTF-8\"&gt;"; 
           e.template = { 
              head: "&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;" + utf8Heading + "&lt;head&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;&lt;x:ExcelWorkbook&gt;&lt;x:ExcelWorksheets&gt;", 
               sheet: { 
                   head: "&lt;x:ExcelWorksheet&gt;&lt;x:Name&gt;", 
                   tail: "&lt;/x:Name&gt;&lt;x:WorksheetOptions&gt;&lt;x:DisplayGridlines/&gt;&lt;/x:WorksheetOptions&gt;&lt;/x:ExcelWorksheet&gt;" 
               }, 
               mid: "&lt;/x:ExcelWorksheets&gt;&lt;/x:ExcelWorkbook&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;/head&gt;&lt;body&gt;", 
               table: { 
                   head: "&lt;table&gt;", 
                   tail: "&lt;/table&gt;" 
               }, 
               foot: "&lt;/body&gt;&lt;/html&gt;" 
           }; 
  
  
           e.tableRows = []; 
  
  
           // get contents of table except for exclude 
           $(e.element).each( function(i,o) { 
               var tempRows = ""; 
               $(o).find("tr").not(e.settings.exclude).each(function (i, o) {
                   var cloneRow = $(o).clone();
                   $(cloneRow).find(e.settings.exclude).remove();
                   var html = $(cloneRow).html();
                   tempRows += "&lt;tr&gt;" + html + "&lt;/tr&gt;";
                   }); 
              /* $(o).find("tr").not(e.settings.exclude).each(function (i,o) { 
                   tempRows += "&lt;tr&gt;" + $(o).html() + "&lt;/tr&gt;"; 
               }); */
               e.tableRows.push(tempRows); 
           }); 
  
  
           e.tableToExcel(e.tableRows, e.settings.name, e.settings.sheetName); 
       }, 
  
  
       tableToExcel: function (table, name, sheetName) { 
           var e = this, fullTemplate="", i, link, a; 
  
           e.uri = "data:application/vnd.ms-excel;base64,"; 
           e.base64 = function (s) { 
               return window.btoa(unescape(encodeURIComponent(s))); 
           }; 
           e.format = function (s, c) { 
               return s.replace(/{(\w+)}/g, function (m, p) { 
                   return c[p]; 
               }); 
           }; 
  
  
           sheetName = typeof sheetName === "undefined" ? "Sheet" : sheetName; 
  
  
           e.ctx = { 
               worksheet: name || "Worksheet", 
               table: table, 
               sheetName: sheetName, 
           }; 
  
  
           fullTemplate= e.template.head; 
  
  
           if ( $.isArray(table) ) { 
               for (i in table) { 
                     //fullTemplate += e.template.sheet.head + "{worksheet" + i + "}" + e.template.sheet.tail; 
                     fullTemplate += e.template.sheet.head + sheetName + i + e.template.sheet.tail; 
               } 
           } 
  
  
           fullTemplate += e.template.mid; 
  
  
           if ( $.isArray(table) ) { 
               for (i in table) { 
                   fullTemplate += e.template.table.head + "{table" + i + "}" + e.template.table.tail; 
               } 
           } 
  
           fullTemplate += e.template.foot; 
  
  
           for (i in table) { 
               e.ctx["table" + i] = table[i]; 
           } 
           delete e.ctx.table; 
  
  
           if (typeof msie !== "undefined" &amp;&amp; msie &gt; 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))      // If Internet Explorer 
           { 
               if (typeof Blob !== "undefined") { 
                   //use blobs if we can 
                   fullTemplate = e.format(fullTemplate, e.ctx);
                   fullTemplate = [fullTemplate]; 
                   //convert to array 
                   var blob1 = new Blob(fullTemplate, { type: "text/html" }); 
                   window.navigator.msSaveBlob(blob1, getFileName(e.settings) ); 
               } else { 
                   //otherwise use the iframe and save 
                   //requires a blank iframe on page called txtArea1 
                   txtArea1.document.open("text/html", "replace"); 
                   txtArea1.document.write(e.format(fullTemplate, e.ctx)); 
                   txtArea1.document.close(); 
                   txtArea1.focus(); 
                   sa = txtArea1.document.execCommand("SaveAs", true, getFileName(e.settings) ); 
               } 
  
  
           } else { 
               link = e.uri + e.base64(e.format(fullTemplate, e.ctx)); 
               a = document.createElement("a"); 
               a.download = getFileName(e.settings); 
               a.href = link; 
  
  
               document.body.appendChild(a); 
  
  
               a.click(); 
  
  
               document.body.removeChild(a); 
           } 
  
  
           return true; 
       } 
   }; 
  
  
   function getFileName(settings) { 
      return ( settings.filename ? settings.filename : "table2excel" ) + 
             ( settings.fileext ? settings.fileext : ".xls" ); 
   } 
  
  
   $.fn[ pluginName ] = function ( options ) { 
       var e = this; 
           e.each(function() { 
               if ( !$.data( e, "plugin_" + pluginName ) ) { 
                   $.data( e, "plugin_" + pluginName, new Plugin( this, options ) ); 
               } 
           }); 
  
       // chain jQuery functions 
       return e; 
   }; 
  </code></pre>
  
  <p>})( jQuery, window, document ); </p>