2017-02-23 35 views
4

JS、HTML、CSSを使用してアプリケーションを構築し、サーバーにホストしています。私はすべてのhtmlテーブルをxls形式のExcelファイルにインポートするために次のコードを使用しています。Javascriptを使用してxlsx形式のExcelファイルをダウンロードする(Excelにhtmlテーブルをエクスポートする)

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拡張機能で試してみてください。