javascript 將 table 導出 Excel ,可跨行跨列


<script language="JavaScript" type="text/javascript">
    	//jQuery HTML導出Excel文件(兼容IE及所有瀏覽器)
        function HtmlExportToExcel(tableid,file_name) {
            var filename =file_name; //'Book'
            if (getExplorer() == 'ie' || getExplorer() == undefined) {
                HtmlExportToExcelForIE(tableid, filename);
            }
            else {
                HtmlExportToExcelForEntire(tableid, filename)
            }
        }
        //IE瀏覽器導出Excel
        function HtmlExportToExcelForIE(tableid, filename) {
            try {             
                var curTbl = document.getElementById(tableid);  
	            var oXL;  
	            try{  
	                oXL = new ActiveXObject("Excel.Application"); //創建AX對象excel  
	            }catch(e){  
	                alert("無法啟動Excel!\n\n如果您確信您的電腦中已經安裝了Excel,"+"那么請調整IE的安全級別。\n\n具體操作:\n\n"+"工具 → Internet選項 → 安全 → 自定義級別 → 對沒有標記為安全的ActiveX進行初始化和腳本運行 → 啟用");  
	                return false;  
	            }  
	            var oWB = oXL.Workbooks.Add(); //獲取workbook對象  
	            var oSheet = oWB.ActiveSheet;//激活當前sheet  
	            var sel = document.body.createTextRange();  
	            sel.moveToElementText(curTbl); //把表格中的內容移到TextRange中  
	            try{
	            	sel.select(); //全選TextRange中內容  
	            }catch(e1){
	            	e1.description
	            }
	            sel.execCommand("Copy");//復制TextRange中內容  
	            oSheet.Paste();//粘貼到活動的EXCEL中  
	            oXL.Visible = true; //設置excel可見屬性  
	            var fname = oXL.Application.GetSaveAsFilename(filename+".xls", "Excel Spreadsheets (*.xls), *.xls");  
	            oWB.SaveAs(fname);  
	            oWB.Close();  
	            oXL.Quit(); 

            } catch (e) {
                alert(e.description);
            }
        }
        
        //非IE瀏覽器導出Excel
        var HtmlExportToExcelForEntire = (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 }
                document.getElementById("dlink").href = uri + base64(format(template, ctx));
                document.getElementById("dlink").download = name + ".xls";
                document.getElementById("dlink").click();
            }
        })()
        
        function getExplorer() {
            var explorer = window.navigator.userAgent;
            //ie 
            if (explorer.indexOf("MSIE") >= 0) {
                return 'ie';
            }
            //firefox 
            else if (explorer.indexOf("Firefox") >= 0) {
                return 'Firefox';
            }
            //Chrome
            else if (explorer.indexOf("Chrome") >= 0) {
                return 'Chrome';
            }
            //Opera
            else if (explorer.indexOf("Opera") >= 0) {
                return 'Opera';
            }
            //Safari
            else if (explorer.indexOf("Safari") >= 0) {
                return 'Safari';
            }
        }
</script>
//調用
function ToExcel(){
     
     HtmlExportToExcel('table_main','Book'); 
}

//html部分   table_main為table的id
<table  id="table_main"    > 

</table>

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 java實現導出Excel(跨行,跨列) JAVA導出excel如何設置表頭跨行或者跨列,跪求各位大神了 Excel中復雜跨行跨列數據 table合並單元格 colspan(跨列)和rowspan(跨行) table合並單元格 colspan(跨列)和rowspan(跨行) table中tr間距的設定table合並單元格 colspan(跨列)和rowspan(跨行) table中tr間距的設定table合並單元格 colspan(跨列)和rowspan(跨行) HTML表格,table,thead,tbody,tfoot,th,tr,td,的屬性以及跨行,跨列
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM
標簽總結(colspan跨列 ,rowspan跨行) 七:HTML之表格跨行跨列