该方法适用以下情况:一个列表,每一行有连接,点击可以进入另外的页面,列表旁可以放选择按钮,如果选择了,就导出该行连接页面。
该方法注意事项:1,导出的页面,CSS格式要让WORD可以识别。最好现在WORD上把页面画出,然后另存为HTML文件,注意保存其中生成的文件。
2,浏览器要准许ActiveX运行。
代码如下:
1,以下代码即可以单独导出一个页面的WORD文档。
<script id="scriptHide" language="javascript">
window.οnlοad=function()
{
var oButton=window.document.getElementById("Button1");
if(oButton!=null && parent.iNum>0)
{
oButton.οnclick=alertMessage;
parent.wm(oButton);
}
else
{
oButton.οnclick=alertMessage;
}
}
var odocName=null;
var omessage=null;
function alertMessage(obj)
{
word_onclick();
if(arguments.length==0)
{
if(odocName==null||odocName=="")
{
alert("导出失败!/r/n"+ omessage);
}
else
{
alert("导出成功!/r/n文件位置:C://" + odocName);
}
}
}
function getUrlParam(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
function word_onclick(obj)
{
var oWD = new ActiveXObject("Word.Application");
oWD.WindowState = 2
var oDC = oWD.Documents.Add("",0,1);
var oRange =oDC.Range(0,1);
var hd = document.getElementById("__VIEWSTATE");
var hideTable = document.getElementById("hideTable");
var hideTable1 = document.getElementById("hideTable1");
var scriptHide = document.getElementById("scriptHide");
if(hd != null)
{
hd.parentNode.removeChild(hd);
}
if(hideTable != null)
{
hideTable.parentNode.removeChild(hideTable);
}
if(hideTable1 != null)
{
hideTable1.parentNode.removeChild(hideTable1);
}
if(scriptHide != null)
{
scriptHide.parentNode.removeChild(scriptHide);
}
var sel = document.body.createTextRange();
var lblName = document.getElementById("name");
var docName = "Q12 个人报告.doc";
var depno = '<%=Request.QueryString["DeptNo"].ToString()%>';
docName = depno +"-"+ docName;
if(lblName != null)
{
docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName;
}
try
{
sel.execCommand("Copy");
oRange.Paste();
oDC.SaveAs("C://" + docName);
odocName=docName;
}
catch(e)
{
omessage=e.message;
}
finally
{
oDC.Close(0);
oWD.Quit();
oWD = null;
}
if(oWD != null)
{
oDC.Close(0);
oWD.Quit();
oWD = null;
}
}
</script>
2,以下代码是用来批量导出的
<script>
window.document.οnkeydοwn=function()
{
if(window.event.keyCode==13)
{
var oLinkButton=document.getElementById('<%=this.LinkButton1.ClientID %>');
oLinkButton.click();
}
}
var iNum=0;
var arr=new Array;
function CheckAll(check, id)
{
var e = document.forms[0].elements;
var l = e.length;
var o;
for(var i = 0; i < l; i++)
{
o = e[i];
if (o.type == "checkbox" && o.id.indexOf(id) > -1)
{
if(o.disabled!=true)
{
o.checked = check;
}
}
}
}
function BatchExport()
{
var oDiv=window.document.getElementById("NoneDiv");
oDiv.style.display="block";
arr.splice(0,arr.length);
iNum=0;
var oCount=0;
var oTable=window.document.getElementById('<%=this.CustDataGrid1.ClientID %>');
if(oTable!=null)
{
var oCheckbox=oTable.getElementsByTagName("INPUT");
for(var i=0;i<oCheckbox.length;i++)
{
if(oCheckbox[i].getAttribute("type")=="checkbox"&&oCheckbox[i].getAttribute("value")!="on"&&oCheckbox[i].checked==true)
{
oCount=oCount+1;
arr[arr.length]=oCheckbox[i].getAttribute("value");
}
else
{
}
}
if(oCount==0)
{
oDiv.style.display="none";
alert("没有选择任何项");
return false;
}
iFrameUrl(arr[iNum]);
}
return false;
}
function iFrameUrl(STF_StaffNo)
{
var ohref=STF_StaffNo.split("|");
iNum=iNum+1;
frames["hiddenFrame"].location.href="reportQ12.aspx?LeaderNo="+ohref[0]+"&DeptNo="+ohref[1];
}
function wm(bjct)
{
bjct.onclick("isofstone");
if(iNum==arr.length)
{
var oDiv=window.document.getElementById("NoneDiv");
oDiv.style.display="none";
alert("批量生成完成");
return;
}
iFrameUrl(arr[iNum]);
}
</script>
以上方法具有速度快,可以很好的控制格式(要先研究WORD转化为HTML后的格式),可以包含图片,可以批量导出的优点。 <script type="text/javascript"> window.document.οnkeydοwn=function() { if(window.event.keyCode==13) { var oLinkButton=document.getElementById('<%=this.LinkButton1.ClientID %>'); oLinkButton.click(); } } var iNum=0; var arr=new Array; function CheckAll(check, id) { var e = document.forms[0].elements; var l = e.length; var o; for(var i = 0; i < l; i++) { o = e[i]; if (o.type == "checkbox" && o.id.indexOf(id) > -1) { if(o.disabled!=true) { o.checked = check; } } } } function BatchExport() { var oDiv=window.document.getElementById("NoneDiv"); oDiv.style.display="block"; arr.splice(0,arr.length); iNum=0; var oCount=0; var oTable=window.document.getElementById('<%=this.CustDataGrid1.ClientID %>'); if(oTable!=null) { var oCheckbox=oTable.getElementsByTagName("INPUT"); for(var i=0;i 0) { oButton.οnclick=alertMessage; parent.wm(oButton); } else { oButton.οnclick=alertMessage; } } var odocName=null; var omessage=null; function alertMessage(obj) { word_onclick(); if(arguments.length==0) { if(odocName==null||odocName=="") { alert("导出失败!/r/n"+ omessage); } else { alert("导出成功!/r/n文件位置:C://" + odocName); } } } function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } function word_onclick(obj) { var oWD = new ActiveXObject("Word.Application"); oWD.WindowState = 2 var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var hd = document.getElementById("__VIEWSTATE"); var hideTable = document.getElementById("hideTable"); var hideTable1 = document.getElementById("hideTable1"); var scriptHide = document.getElementById("scriptHide"); if(hd != null) { hd.parentNode.removeChild(hd); } if(hideTable != null) { hideTable.parentNode.removeChild(hideTable); } if(hideTable1 != null) { hideTable1.parentNode.removeChild(hideTable1); } if(scriptHide != null) { scriptHide.parentNode.removeChild(scriptHide); } var sel = document.body.createTextRange(); var lblName = document.getElementById("name"); var docName = "Q12 个人报告.doc"; var depno = '<%=Request.QueryString["DeptNo"].ToString()%>'; docName = depno +"-"+ docName; if(lblName != null) { docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName; } try { sel.execCommand("Copy"); oRange.Paste(); oDC.SaveAs("C://" + docName); odocName=docName; } catch(e) { omessage=e.message; } finally { oDC.Close(0); oWD.Quit(); oWD = null; } if(oWD != null) { oDC.Close(0); oWD.Quit(); oWD = null; } } </script> <script language="javascript" id="scriptHide" type="text/javascript"> window.οnlοad=function() { var oButton=window.document.getElementById("Button1"); if(oButton!=null && parent.iNum>0) { oButton.οnclick=alertMessage; parent.wm(oButton); } else { oButton.οnclick=alertMessage; } } var odocName=null; var omessage=null; function alertMessage(obj) { word_onclick(); if(arguments.length==0) { if(odocName==null||odocName=="") { alert("导出失败!/r/n"+ omessage); } else { alert("导出成功!/r/n文件位置:C://" + odocName); } } } function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } function word_onclick(obj) { var oWD = new ActiveXObject("Word.Application"); oWD.WindowState = 2 var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var hd = document.getElementById("__VIEWSTATE"); var hideTable = document.getElementById("hideTable"); var hideTable1 = document.getElementById("hideTable1"); var scriptHide = document.getElementById("scriptHide"); if(hd != null) { hd.parentNode.removeChild(hd); } if(hideTable != null) { hideTable.parentNode.removeChild(hideTable); } if(hideTable1 != null) { hideTable1.parentNode.removeChild(hideTable1); } if(scriptHide != null) { scriptHide.parentNode.removeChild(scriptHide); } var sel = document.body.createTextRange(); var lblName = document.getElementById("name"); var docName = "Q12 个人报告.doc"; var depno = '<%=Request.QueryString["DeptNo"].ToString()%>'; docName = depno +"-"+ docName; if(lblName != null) { docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName; } try { sel.execCommand("Copy"); oRange.Paste(); oDC.SaveAs("C://" + docName); odocName=docName; } catch(e) { omessage=e.message; } finally { oDC.Close(0); oWD.Quit(); oWD = null; } if(oWD != null) { oDC.Close(0); oWD.Quit(); oWD = null; } } </script> <script language="javascript" id="scriptHide" type="text/javascript"> window.οnlοad=function() { var oButton=window.document.getElementById("Button1"); if(oButton!=null && parent.iNum>0) { oButton.οnclick=alertMessage; parent.wm(oButton); } else { oButton.οnclick=alertMessage; } } var odocName=null; var omessage=null; function alertMessage(obj) { word_onclick(); if(arguments.length==0) { if(odocName==null||odocName=="") { alert("导出失败!/r/n"+ omessage); } else { alert("导出成功!/r/n文件位置:C://" + odocName); } } } function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } function word_onclick(obj) { var oWD = new ActiveXObject("Word.Application"); oWD.WindowState = 2 var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var hd = document.getElementById("__VIEWSTATE"); var hideTable = document.getElementById("hideTable"); var hideTable1 = document.getElementById("hideTable1"); var scriptHide = document.getElementById("scriptHide"); if(hd != null) { hd.parentNode.removeChild(hd); } if(hideTable != null) { hideTable.parentNode.removeChild(hideTable); } if(hideTable1 != null) { hideTable1.parentNode.removeChild(hideTable1); } if(scriptHide != null) { scriptHide.parentNode.removeChild(scriptHide); } var sel = document.body.createTextRange(); var lblName = document.getElementById("name"); var docName = "Q12 个人报告.doc"; var depno = '<%=Request.QueryString["DeptNo"].ToString()%>'; docName = depno +"-"+ docName; if(lblName != null) { docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName; } try { sel.execCommand("Copy"); oRange.Paste(); oDC.SaveAs("C://" + docName); odocName=docName; } catch(e) { omessage=e.message; } finally { oDC.Close(0); oWD.Quit(); oWD = null; } if(oWD != null) { oDC.Close(0); oWD.Quit(); oWD = null; } } </script> <script language="javascript" id="scriptHide" type="text/javascript"> window.οnlοad=function() { var oButton=window.document.getElementById("Button1"); if(oButton!=null && parent.iNum>0) { oButton.οnclick=alertMessage; parent.wm(oButton); } else { oButton.οnclick=alertMessage; } } var odocName=null; var omessage=null; function alertMessage(obj) { word_onclick(); if(arguments.length==0) { if(odocName==null||odocName=="") { alert("导出失败!/r/n"+ omessage); } else { alert("导出成功!/r/n文件位置:C://" + odocName); } } } function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } function word_onclick(obj) { var oWD = new ActiveXObject("Word.Application"); oWD.WindowState = 2 var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var hd = document.getElementById("__VIEWSTATE"); var hideTable = document.getElementById("hideTable"); var hideTable1 = document.getElementById("hideTable1"); var scriptHide = document.getElementById("scriptHide"); if(hd != null) { hd.parentNode.removeChild(hd); } if(hideTable != null) { hideTable.parentNode.removeChild(hideTable); } if(hideTable1 != null) { hideTable1.parentNode.removeChild(hideTable1); } if(scriptHide != null) { scriptHide.parentNode.removeChild(scriptHide); } var sel = document.body.createTextRange(); var lblName = document.getElementById("name"); var docName = "Q12 个人报告.doc"; var depno = '<%=Request.QueryString["DeptNo"].ToString()%>'; docName = depno +"-"+ docName; if(lblName != null) { docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName; } try { sel.execCommand("Copy"); oRange.Paste(); oDC.SaveAs("C://" + docName); odocName=docName; } catch(e) { omessage=e.message; } finally { oDC.Close(0); oWD.Quit(); oWD = null; } if(oWD != null) { oDC.Close(0); oWD.Quit(); oWD = null; } } </script> <script language="javascript" id="scriptHide" type="text/javascript"> window.οnlοad=function() { var oButton=window.document.getElementById("Button1"); if(oButton!=null && parent.iNum>0) { oButton.οnclick=alertMessage; parent.wm(oButton); } else { oButton.οnclick=alertMessage; } } var odocName=null; var omessage=null; function alertMessage(obj) { word_onclick(); if(arguments.length==0) { if(odocName==null||odocName=="") { alert("导出失败!/r/n"+ omessage); } else { alert("导出成功!/r/n文件位置:C://" + odocName); } } } function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } function word_onclick(obj) { var oWD = new ActiveXObject("Word.Application"); oWD.WindowState = 2 var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var hd = document.getElementById("__VIEWSTATE"); var hideTable = document.getElementById("hideTable"); var hideTable1 = document.getElementById("hideTable1"); var scriptHide = document.getElementById("scriptHide"); if(hd != null) { hd.parentNode.removeChild(hd); } if(hideTable != null) { hideTable.parentNode.removeChild(hideTable); } if(hideTable1 != null) { hideTable1.parentNode.removeChild(hideTable1); } if(scriptHide != null) { scriptHide.parentNode.removeChild(scriptHide); } var sel = document.body.createTextRange(); var lblName = document.getElementById("name"); var docName = "Q12 个人报告.doc"; var depno = '<%=Request.QueryString["DeptNo"].ToString()%>'; docName = depno +"-"+ docName; if(lblName != null) { docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName; } try { sel.execCommand("Copy"); oRange.Paste(); oDC.SaveAs("C://" + docName); odocName=docName; } catch(e) { omessage=e.message; } finally { oDC.Close(0); oWD.Quit(); oWD = null; } if(oWD != null) { oDC.Close(0); oWD.Quit(); oWD = null; } } </script> <script language="javascript" id="scriptHide" type="text/javascript"> window.οnlοad=function() { var oButton=window.document.getElementById("Button1"); if(oButton!=null && parent.iNum>0) { oButton.οnclick=alertMessage; parent.wm(oButton); } else { oButton.οnclick=alertMessage; } } var odocName=null; var omessage=null; function alertMessage(obj) { word_onclick(); if(arguments.length==0) { if(odocName==null||odocName=="") { alert("导出失败!/r/n"+ omessage); } else { alert("导出成功!/r/n文件位置:C://" + odocName); } } } function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } function word_onclick(obj) { var oWD = new ActiveXObject("Word.Application"); oWD.WindowState = 2 var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var hd = document.getElementById("__VIEWSTATE"); var hideTable = document.getElementById("hideTable"); var hideTable1 = document.getElementById("hideTable1"); var scriptHide = document.getElementById("scriptHide"); if(hd != null) { hd.parentNode.removeChild(hd); } if(hideTable != null) { hideTable.parentNode.removeChild(hideTable); } if(hideTable1 != null) { hideTable1.parentNode.removeChild(hideTable1); } if(scriptHide != null) { scriptHide.parentNode.removeChild(scriptHide); } var sel = document.body.createTextRange(); var lblName = document.getElementById("name"); var docName = "Q12 个人报告.doc"; var depno = '<%=Request.QueryString["DeptNo"].ToString()%>'; docName = depno +"-"+ docName; if(lblName != null) { docName = lblName.innerText.replace(//s*$/g,"")+"-"+ docName; } try { sel.execCommand("Copy"); oRange.Paste(); oDC.SaveAs("C://" + docName); odocName=docName; } catch(e) { omessage=e.message; } finally { oDC.Close(0); oWD.Quit(); oWD = null; } if(oWD != null) { oDC.Close(0); oWD.Quit(); oWD = null; } } </script>