2017-02-23 140 views
4

我使用JS,HTML和CSS構建應用程序並將其託管在服務器上。我正在使用下面的代碼將所有的html表格導入xls格式的excel文件。使用Javascript下載xlsx格式的Excel文件(將html表格導出到Excel中)

function fnExcelReport(tableNames) { 
    var tab_text = ""; 
    var arrTableNames = tableNames.split("|"); 
    if (arrTableNames.length > 0) { 
     for (var i = 0; i < arrTableNames.length; i++) { 

       tab_text = tab_text + "<table border='1px'>"; 

      tab = document.getElementById(arrTableNames[i]); 


      for (j = 0; j < tab.children.length; j++) { 
       tab_text = tab_text + tab.children[j].innerHTML; 
      } 
      tab_text = tab_text + "</table><br/><br/>"; 
      tab_text = tab_text.replace(/<A[^>]*>|<\/A>/g, ""); //remove if u want links in your table 
      tab_text = tab_text.replace(/<img[^>]*>/gi, ""); // remove if u want images in your table 
      tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params 
     } 
    } 
    var ua = window.navigator.userAgent; 
    var msie = ua.indexOf("MSIE "); 

    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer 
    { 
     if (window.navigator.msSaveBlob) { 
      var blob = new Blob([tab_text], { 
       type: "data:application/vnd.ms-excel;" 
      }); 
      sa = navigator.msSaveBlob(blob, "report.xls"); 
     } 
    } else //other browser not tested on IE 11 
     sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text)); 

    return (sa); 
} 

我能夠下載文件並打開它,但我得到以下警告消息,當我打開它:

Warning message on Excel image

當我點擊是,正確地顯示我的所有數據在Excel文件上。我不想看到那個警告信息。如何更改我的代碼以便以xlsx格式打開並刪除警告消息?

回答

1

這是因爲內容不是「xls」類型。即如果excel的類型爲「xlsx」,則會出現此錯誤。嘗試使用其他帶文件名的excel擴展名。