簡介:非控件生成的頁面需要導出時大家會怎么做導出呢??
非控件生成的頁面需要導出時大家會怎么做導出呢??
下面提供兩種html導出的功能
1.使用new ActiveXObject("Excel.Application")創建excel
function AutomateExcel(tablename) { var elTable = document.getElementById(tablename); //要導出的table id。 var oRangeRef = document.body.createTextRange(); oRangeRef.moveToElementText(elTable); oRangeRef.execCommand("Copy"); try { var appExcel = new ActiveXObject("Excel.Application"); var oWB = appExcel.Workbooks.Add(); //獲取workbook對象 var oSheet = oWB.ActiveSheet; oSheet.Columns("1:5").ColumnWidth = 40 oWB.Worksheets.Item(1).Paste(); appExcel.Visible = true; //appExcel.ActiveSheet.Columns("1:5").ColumnWidth = 40 } catch (e) { alert("請查看瀏覽器ActiveX控件和插件是否啟用!"); } finally { appExcel = null; } }
2.使用myzip導出
在<body>標簽之外部署myzip對象
<OBJECT id="MyZipLib" CLASSID="CLSID:23676334-DBF4-4493-8F23-B15375FD923E" CODEBASE="/ActiveX/PBHelper/PBHelper.CAB#version=1,0,0,0" VIEWASTEXT> <PARAM NAME="_ExtentX" VALUE="159"> <PARAM NAME="_ExtentY" VALUE="159"> </OBJECT>
function AutomateExcel2(tableid) //讀取表格中每個單元到EXCEL中 { //如果不存在記錄,則無需進行導出Excel操作 var objTable = gridBar; if (objTable.rows.length < 3) return; var strHTML; strHTML = document.getElementById("MainTale").innerHTML; strHTML = "<meta http-equiv='Content-Type' content='text/html;charset=gb2312'>" + strHTML; strHTML = strHTML.replace(/(<img\s+src=[\"|\'][:|.|\/|_|\w]*[\"|\']\s*>)/gi, ""); strHTML = strHTML.replace(/\<input.*value=[\"|\']*([\S]*)[\'|\"]*.*>[\s*\| ]*<\/td\>/gi, "$1</td>"); //debugger; MyZipLib.SaveToFile(strHTML); }