如何只使用JavaScript导出表中的div

oxiaedzo  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(96)

我想导出表格行中的特定div到excel。如何做到这一点。如何在表格id中获取addtable类div。
例如:

<div class="addtable">
<table id="rer3233223"><tr><td>asasdasasd</td></tr></table>
<table id="rer32343433"><tr><td>asasdasasd</td></tr></table>
<table id="pijjj3232"><tr><td>asasdasasd</td></tr></table>
<table id="ldffddf32"><tr><td>asasdasasd</td></tr></table>
</div>

下面的代码我用来导出基于id的表。

function fnExcelReport()
    {

        var tab_text="<table border='2px'><tr bgcolor='#87AFC6'>";
        var textRange; var j=0;
        tab = document.getElementById('addtable'); // id of table

        for(j = 0 ; j < tab.rows.length ; j++) 
        {     
            tab_text=tab_text+tab.rows[j].innerHTML+"</tr>";
            //tab_text=tab_text+"</tr>";
        }

        tab_text=tab_text+"</table>";
        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
        {
            txtArea1.document.open("txt/html","replace");
            txtArea1.document.write(tab_text);
            txtArea1.document.close();
            txtArea1.focus(); 
            sa=txtArea1.document.execCommand("SaveAs",true,"MileReport");
        }  
        else                 //other browser not tested on IE 11
            sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  

        return (sa);
    }
ajsxfq5m

ajsxfq5m1#

<script>
    function fnExcelReport()
    {
        var elms = document.getElementById('addtable').getElementsByTagName('table');   

        var tab_text = new Array(); 

         for (var i = 0; i < elms.length; i++) {    

        tab_text[i]="<table border='2px'><tr bgcolor='#87AFC6'>";
        var textRange; var j=0;
        var jsids=elms[i].id;

        tab = document.getElementById(jsids); // id of table

        for(j = 0 ; j < tab.rows.length ; j++) 
        {     
            tab_text[i]=tab_text[i]+tab.rows[j].innerHTML+"</tr>";
            //tab_text=tab_text+"</tr>";
        }

        tab_text[i]=tab_text[i]+"</table>";

        tab_text[i]= tab_text[i].replace(/<A[^>]*>|<\/A>/g, "");//remove if u want links in your table
        tab_text[i]= tab_text[i].replace(/<img[^>]*>/gi,""); // remove if u want images in your table
        tab_text[i]= tab_text[i].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
        {
            txtArea1.document.open("txt/html","replace");
            txtArea1.document.write(tab_text);
            txtArea1.document.close();
            txtArea1.focus(); 
            sa=txtArea1.document.execCommand("SaveAs",true,"MileReport");
        }  
        else                 //other browser not tested on IE 11
            sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  

        return (sa);
    }
    </script>
kulphzqa

kulphzqa2#

你能告诉我们如何给予他自定义名称的工作表和工作表标签也。

相关问题