2012-07-26 18 views
0

我正在使用此腳本將html表導出爲ex​​cel文件,但我在表中具有圖像標記,因此我想在腳本導出爲ex​​cel時刪除該標記。下面是我使用當導出爲ex​​cel時刪除HTML標記

<script type="text/javascript"> 
     var tableToExcel = (function() { 
     var uri = 'data:application/vnd.ms-excel;base64,' 
     , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>' 
     , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) } 
     , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } 
     return function(table, name) { 
     if (!table.nodeType) table = document.getElementById(table) 
     var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML} 
     window.location.href = uri + base64(format(template, ctx)) 
     } 
     })() 
     </script> 

     <input type="button" onclick="tableToExcel('datatable', 'W3C Example Table')" value="Export to Excel"> 

Here is the snapshot of exported excel sheet. Due to all image tag it shows cross sign. I want to remove that images.

回答

0

腳本您可以刪除這樣<img>標籤:

table: table.innerHTML.replace(/<\s*img[^>]*>/gi,''); 

DEMO

0

$( 「#btnExport」)點擊(函數(e){window.open('data:application/vnd.ms-excel,'+ encodeURIComponent($('#export')。html())); });