在html表的javascript导出中隐藏列

时间:2016-09-16 20:49:55

标签: javascript jquery html5

所以我有一个12列的表,最后我有一个按钮,当我onclick并将表导出到.xls excel时调用一个函数 - 我需要隐藏导出中的第12列。如何隐藏第12列,使其不显示在.xls中 ??

这是我的按钮代码

<li class="button"><a href="javascript:;" onclick="fnExcelReport();" style="background-color: #4cae4c;">Export EXCEL</a></li>

这是脚本

<script>

  function fnExcelReport()
{
var tab_text="<table border='2px'>"; 
var tab_text=tab_text+"<tr bgcolor='#eeeeee' height='50'><th colspan='12' style='text-align:center; font-size:20px;'>COMPLETED TRIPS</th></tr><tr bgcolor='#bf997e' height='50' color='#FFFFFF'>"; 

var i=0;
tab = document.getElementById('completed_trips_prov'); // id of table


for(i = 0 ; i < tab.rows.length ; i++) 
{     
    tab_text=tab_text+tab.rows[i].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,"Say T.xls");
}  
else                 //other browser not tested on IE 11
    sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  


return (sa);
}


</script>

1 个答案:

答案 0 :(得分:1)

根据你现在所拥有的,你可以删除我修改你的循环的行中的最后一个单元格:

//劈

for(i = 0 ; i < tab.rows.length ; i++) 
{    
    var row = tab.rows[i];
    var numberOfCells = row.cells.length;
    row.deleteCell(numberOfCells - 1);
    tab_text=tab_text+tab.rows[i].innerHTML+"</tr>";

}

根据您要写入文档的内容,最好循环遍历每行中的每个单元格。