Is there any way to export html table into Excel working in all browsers?

后端 未结 3 1744
时光取名叫无心
时光取名叫无心 2021-01-15 20:17

I used below code for that but its works only in Firefox. It also not allow customize exported file name. It takes a random file name.

 var tableToExcel = (f         


        
3条回答
  •  庸人自扰
    2021-01-15 20:53

    The following code worked perfect for me with IE8+, Chrome and Firefox! It´s the easiest way to Export HTML tables to Excel without using a blob, ActiveX-Elements or downloadify:

    Just insert an empty Iframe in your HTML document:

    
    

    Add the following function to your Script section and replace the table id:

    function fnExcelReport()
            {
                  var tab_text="";
                  var textRange; var j=0;
                  tab = document.getElementById('headerTable'); // id of table
    
    
                  for(j = 0 ; j < tab.rows.length ; j++) 
                  {     
                        tab_text=tab_text+tab.rows[j].innerHTML+"";
                        //tab_text=tab_text+"";
                  }
    
                  tab_text=tab_text+"
    "; tab_text= tab_text.replace(/]*>|<\/A>/g, "");//remove if u want links in your table tab_text= tab_text.replace(/]*>/gi,""); // remove if u want images in your table tab_text= tab_text.replace(/]*>|<\/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 { txtArea1.document.open("txt/html","replace"); txtArea1.document.write(tab_text); txtArea1.document.close(); txtArea1.focus(); sa=txtArea1.document.execCommand("SaveAs",true,"Say Thanks to Sumit.xls"); } else //other browser not tested on IE 11 sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text)); return (sa); }

    and finally call the function:

    
    

    or with JQuery:

    $("#btnExport").click(function () {
    
                fnExcelReport();
            });
    

提交回复
热议问题