2016-09-16 76 views
0

所以我有一個12列的表,並在最後我有一個按鈕,當我onclick並將表導出到.xls Excel中時調用一個函數 - 我需要隱藏第12個列出口。如何隱藏第12列,使其不會出現在.xls中 ??在JavaScript中隱藏列導出html表

這裏是我的按鈕

<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

將其從HTML中移除? –

+0

迭代每一行並刪除該單元格。隱藏和不包括也是不同的東西。問題是模糊的 – charlietfl

回答

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>"; 

} 

根據您要寫入文檔的內容,最好循環遍歷循環中每個單元格中的每個單元格。