导出excel打印 
privatevoidImageButton1_Click(objectsender, System.Web.UI.ImageClickEventArgs e)
{
   Response.Clear(); 
   Response.Buffer
=true
   
   Response.AppendHeader(
"Content-Disposition","attachment;filename=Borrow.xls");
   Response.ContentEncoding
=System.Text.Encoding.GetEncoding("gb2312");

   Response.ContentType
="application/ms-excel";
this.EnableViewState=false
   
   System.Globalization.CultureInfo myCItrad
=newSystem.Globalization.CultureInfo("ZH-CN",true);
   System.IO.StringWriter oStringWriter
=newSystem.IO.StringWriter(myCItrad); 
   System.Web.UI.HtmlTextWriter oHtmlTextWriter
=newSystem.Web.UI.HtmlTextWriter(oStringWriter); 
   
   Table3.RenderControl(oHtmlTextWriter);

   Response.Charset
="gb2312";
   Response.Write(oStringWriter.ToString());
   Response.End();
  }


红色为导出文件名和要导出页面中的table

首先在网页中添加: 

<OBJECTid="WebBrowser"height="0"width="0"classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"VIEWASTEXT></OBJECT>
然后就可以依次加入功能按钮了: 

<inputonclick="document.all.WebBrowser.ExecWB(6,1)"type="button"value="打印"><inputonclick="document.all.WebBrowser.ExecWB(6,6)"type="button"value="直接打印"><inputonclick="document.all.WebBrowser.ExecWB(8,1)"type="button"value="页面设置"><inputonclick="document.all.WebBrowser.ExecWB(7,1)"type="button"value="打印预览">&nbsp;<INPUTtype="button"value="关闭窗口"onclick="javascript:window.close()">
将这两块东西放到
<centerclass=noprint></center>就不会打印这些按钮了。当然要定义noprint了: 

<stylemedia="print">.Noprint{}{DISPLAY:none}</style>只要把不想打印的东西的css设置成noprint就可以了。 

现在就实现了基本的web打印,需要注意的情况如下: 

必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行设置成提示或者启用,否则会报错,导致不可用。 
如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。 
为了简便并且达到最好的效果,我们可以在一个页面实现编辑和打印,这时候会需要很多的textbox,我们把它的css设置成.edittext 

overflow-y:visible; 
width: 100%; 
border-top: none; 
border-right: none; 
border-bottom: none; 
border-left: none; 
}就可以实现在打印的时候不显示边框和multiline的textbox不显示滚动条了。 

还有一些小经验就是在设置标格宽度的时候,对于A4纸张,横打用920,竖打用640,效果最好。 
1、控制"纵打"、 横打”和“页面的边距。 
(1)
<scriptdefer>functionSetPrintSettings()
 
//-- advanced features factory.printing.SetMarginMeasure(2)//measure margins in inches factory.SetPageRange(false,1,3)//need pages from 1 to 3 factory.printing.printer="HP DeskJet 870C" factory.printing.copies=2 factory.printing.collate=true factory.printing.paperSize="A4" factory.printing.paperSource="Manual feed"
 
//-- basic features factory.printing.header="This is MeadCo" factory.printing.footer="Advanced Printing by scriptX" factory.printing.portrait=false factory.printing.leftMargin=1.0 factory.printing.topMargin=1.0 factory.printing.rightMargin=1.0 factory.printing.bottomMargin=1.0}
</script>
(2) 
<scriptlanguage="javascript">  functionprintsetup()
  
//打印页面设置  wb.execwb(8,1); 
  }
  functionprintpreview()
  
//打印页面预览     
  wb.execwb(
7,1); 
      
     
  }

  
functionprintit() 
  

  
if(confirm(''确定打印吗?''))
  wb.execwb(
6,6
  }
  }
  
</script></head><body><OBJECTclassid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
height
=0id=wbname=wbwidth=0></OBJECT><inputtype=buttonname=button_printvalue="打印"
onclick
="javascript:printit()"><inputtype=button name=button_setupvalue="打印页面设置"
onclick
="javascript:printsetup();"><inputtype=button name=button_showvalue="打印预览"
onclick
="javascript:printpreview();"><inputtype=buttonname=button_fhvalue="关闭"
onclick
="javascript:window.close();">
------------------------------------------------ 
关于这个组件还有其他的用法,列举如下: 
WebBrowser.ExecWB(1,1) 打开 
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
Web.ExecWB(4,1) 保存网页 
Web.ExecWB(6,1) 打印 
Web.ExecWB(7,1) 打印预览 
Web.ExecWB(8,1) 打印页面设置 
Web.ExecWB(10,1) 查看页面属性 
Web.ExecWB(15,1) 好像是撤销,有待确认 
Web.ExecWB(17,1) 全选 
Web.ExecWB(22,1) 刷新 
Web.ExecWB(45,1) 关闭窗体无提示 

2、分页打印 
<HTML><HEAD><STYLE>   
  P
{}{page-break-after:always}
</STYLE></HEAD><BODY><%whilenotrs.eof%><P><%=rs(0)%></P><%rs.movenext%><%wend%></BODY></HTML>
3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号 
(1)ie的文件-〉页面设置-〉讲里面的页眉和页脚里面的东西都去掉,打印就不出来了。 
(2)
<HTML><HEAD><TITLE>New Document</TITLE><METANAME="Generator"CONTENT="EditPlus"><METANAME="Author"CONTENT="YC"><scriptlanguage="VBscript">dimhkey_root,hkey_path,hkey_key 
hkey_root
="HKEY_CURRENT_USER"hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"''//设置网页打印的页眉页脚为空functionpagesetup_null() 
  
onerrorresumenext  SetRegWsh=CreateObject("Wscript.Shell"
  hkey_key
="\header"   
  RegWsh.RegWrite hkey_root
+hkey_path+hkey_key,""  hkey_key="\footer"  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""end function''//设置网页打印的页眉页脚为默认值functionpagesetup_default() 
  
onerrorresumenext  SetRegWsh=CreateObject("Wscript.Shell"
  hkey_key
="\header"   
  RegWsh.RegWrite hkey_root
+hkey_path+hkey_key,"&w&b页码,&p/&P"  hkey_key="\footer"  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"end function
</script></HEAD>
<BODY><br/><br/><br/><br/><br/><br/><palign=center><inputtype="button"value="清空页码"onclick=pagesetup_null()><inputtype="button"value="恢复页吗"onclick=pagesetup_default()><br/>
</p></BODY></HTML>4、浮动帧打印 
<scriptLANGUAGE=javascript>functionbutton1_onclick()
  
varodoc=window.iframe1.document; 
  
varr=odoc.body.createTextRange(); 
  
varstxt=r.htmlText; 
  alert(stxt) 
  
varpwin=window.open("","print"); 
  pwin.document.write(stxt); 
  pwin.print(); 
}
</script>4、用FileSystem组件实现WEB应用中的本地特定打印 
<scriptLanguage=VBscript>functionprint_onclick//打印函数dim label 
label
=document.printinfo.label.value//获得HTML页面的数据set objfs=CreateObject("scripting.FileSystemObject")//创建FileSystem组件对象的实例set objprinter=objfs.CreateTextFile ("LPT1:",true)//建立与打印机的连接objprinter.Writeline("__________________________________")//输出打印的内容objprinter.Writeline("| |"
objprinter.Writeline(
"| 您打印的数据是:"&label&"|”) 
objprinter.Writeline(
"||"
objprinter.Writeline(
"|_________________________________|"
objprinter.close //断开与打印机的连接 
set objprinter=nothing 
set objfs=nothing // 关闭FileSystem组件对象 
end function 
</script> 
服务器端脚本: 
<%……… 
set conn=server.CreateObject (
"adodb.connection"
conn.Open
"DSN=name;UID=XXXX;PWD=XXXX;"set rs=server.CreateObject("adodb.recordset"
rs.Open(“select ……”),conn,1,1 
……….%> //与数据库进行交互 
HTML页面编码: 
<HTML> 
……… 
<FORM ID=printinfo NAME=
"printinfo"
<INPUT type=
"button"value="打印>>"id=print name=print > //调用打印函数 
<INPUT type=hidden id=text1 name=label value=<%=………%>> //保存服务器端传来的数据 
……… 
</HTML>


//打印分页


<pstyle="page-break-after:always">page1</p><pstyle="page-break-after:always">page2</p>
 

//设置打印
<br/><objectid="factory"style="display:none"viewastext <br/>  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"<br/>  codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"<br/>></object><br/><inputtype=buttonvalue=页面设置onclick="factory.printing.PageSetup()"><br/><inputtype=buttonvalue=打印预览onclick="factory.printing.Preview()"><br/><br/><scriptlanguage=javascript><br/>functionwindow.onload()<br/>{<br/>//-- advanced features <br />factory.printing.SetMarginMeasure(2)//measure margins in inches <br />factory.printing.SetPageRange(false,1,3)//need pages from 1 to 3 <br />factory.printing.printer="HP DeskJet 870C"<br/>   factory.printing.copies=2<br/>   factory.printing.collate=true<br/>   factory.printing.paperSize="A4"<br/>   factory.printing.paperSource="Manual feed"<br/>//-- basic features <br />factory.printing.header="居左显示&b居中显示&b居右显示页码,第&p页/共&P页"<br/>   factory.printing.footer="(自定义页脚)"<br/>   factory.printing.portrait=false<br/>   factory.printing.leftMargin=0.75<br/>   factory.printing.topMargin=1.5<br/>   factory.printing.rightMargin=0.75<br/>   factory.printing.bottomMargin=1.5<br/>}<br/>functionPrint(frame){<br/>  factory.printing.Print(true, frame)//print with prompt <br />}<br/></script><br/><inputtype=buttonvalue="打印本页"onclick="factory.printing.Print(false)"><br/><inputtype=buttonvalue="页面设置"onclick="factory.printing.PageSetup()"><br/><inputtype=buttonvalue="打印预览"onclick="factory.printing.Preview()"><br><br/><ahref="http://www.meadroid.com/scriptx/docs/printdoc.htm?static"target=_blank>具体使用手册,更多信息,点这里</a><br/> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 
//自带的打印预览 


WebBrowser.ExecWB(1,1) 打开  
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口  
Web.ExecWB(4,1) 保存网页  
Web.ExecWB(6,1) 打印  
Web.ExecWB(7,1) 打印预览  
Web.ExecWB(8,1) 打印页面设置  
Web.ExecWB(10,1) 查看页面属性  
Web.ExecWB(15,1) 好像是撤销,有待确认  
Web.ExecWB(17,1) 全选  
Web.ExecWB(22,1) 刷新  
Web.ExecWB(45,1) 关闭窗体无提示  
<stylemedia=print>.Noprint{}{display:none;}<!--用本样式在打印时隐藏非打印项目-->  
.PageNext
{}{page-break-after:always;}<!--控制分页-->  
</style><objectid="WebBrowser"width=0height=0classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>  
<centerclass="Noprint"><inputtype=buttonvalue=打印onclick=document.all.WebBrowser.ExecWB(6,1)><inputtype=buttonvalue=直接打印onclick=document.all.WebBrowser.ExecWB(6,6)><inputtype=buttonvalue=页面设置onclick=document.all.WebBrowser.ExecWB(8,1)></p><p><inputtype=buttonvalue=打印预览onclick=document.all.WebBrowser.ExecWB(7,1)></center>
 


//去掉打印时的页眉页脚 
<br/><scriptlanguage="JavaScript"><br/>varHKEY_Root,HKEY_Path,HKEY_Key;<br/>HKEY_Root="HKEY_CURRENT_USER";<br/>HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";<br/>//设置网页打印的页眉页脚为空 <br />functionPageSetup_Null()<br/>{<br/>try<br/>{<br/>varWsh=newActiveXObject("WScript.Shell");<br/>  HKEY_Key="header";<br/>  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");<br/>  HKEY_Key="footer";<br/>  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");<br/> }<br/>catch(e){}<br/>}<br/>//设置网页打印的页眉页脚为默认值 <br />functionPageSetup_Default()<br/>{<br/>try<br/>{<br/>varWsh=newActiveXObject("WScript.Shell");<br/>  HKEY_Key="header";<br/>  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");<br/>  HKEY_Key="footer";<br/>  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");<br/> }<br/>catch(e){}<br/>}<br/></script><br/><inputtype="button"value="清空页码"onclick=PageSetup_Null()><br/><inputtype="button"value="恢复页码"onclick=PageSetup_Default()><br/> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 
//无模式的提示框 


function modelessAlert(Msg) 

   window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); 
}

转载于:https://www.cnblogs.com/ahjxxy/archive/2009/02/17/1392378.html

WEB打印大全(转)相关推荐

  1. 移动Web知识点大全

    移动Web知识点大全 移动Web 1.字体图标 2.平面转换 3.渐变 4.空间转换 5.动画 6.移动端特点 7.百分比布局 8.Flex布局 9.移动适配 9.1 rem 9.2 less 9.3 ...

  2. web server大全之GoAhead移植(转载)

    转自:http://linux.chinaunix.net/techdoc/develop/2009/06/19/1119124.shtml 注:最近在做goAhead web server和移植其到 ...

  3. WEB 打印的相关技术分析

    文/谢康 做Web开发的人员一定都会面临一个共同的难题,那就是打印.的确,相对于Windows桌面应用程序来讲,Web应用程序的打印有种种限制,技术人员在项目开发过程中经常会遇到用户这样或那样的需求. ...

  4. java web 打印控件_web打印,web打印控件,dotnet web打印控件,java web打印控件,webprint...

    webprint打印参数设置小插件,主要实现打印纸张,边距,打印机等的设置. 主要功能: 设置页眉页脚属性 设置打印页面左右上下边距 设置打印方向,打印份数,打印指定页 打印模版和指定纸型绑定 设置自 ...

  5. 提示“Web打印服务CLodop未安装启动”的各种原因和解决方法

    提示"Web打印服务CLodop未安装启动"的各种原因和解决方法 参考文章: (1)提示"Web打印服务CLodop未安装启动"的各种原因和解决方法 (2)ht ...

  6. 免费Web打印控件测试

    在WEB系统中,打印的确是个烦人的问题----特别是你的应用环境又有很多种类的打印机.如果自己开发打印控件,可能因为项目时间紧而来不及.前段时间有机会接触了一下WEB打印.在博客园.CSDN以及各个论 ...

  7. 利用WebBrowser实现Web打印的分析

    利用WebBrowser实现Web打印的分析 原文:利用WebBrowser实现Web打印的分析 WebBrowser是IE内置的浏览器控件,无需用户下载.本文档所讨论的是有关IE6.0版本的WebB ...

  8. PAZU 是4Fang 为配合“四方在线”软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印。...

    PAZU 是4Fang 为配合"四方在线"软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印. PAZU是客户端软件,使用于IE作为客户端的所有应用,与服务器端开 ...

  9. 一起谈.NET技术,在MVC2.0使用Lodop为WEB打印提出完美解决方案

    通过好友CallHot介绍Lodopweb打印控件.由于是国人开发的,故这两天认真了研究下,打算在未来的项目中使用.现将学习成果与园友分享.如果存在不足的地方,希望您指出. 具体的实现步骤如下: 一. ...

最新文章

  1. python比较时间的最大值_时间戳的最大值
  2. 最佳约会策略及其证明
  3. Exchange2003的设定及安全管理
  4. Android 高斯模糊demo
  5. 大数据Hadoop学习记录(3)----基于JAVA语言的HDFS文件过滤与合并
  6. 大学里,数据系鄙视物理系,请问二位来自漫画系嘛?
  7. python3.9性能_谁说Python性能差的
  8. Mac用brew安装mysql
  9. Oracle数据库的下载安装教程
  10. JVM调优实践:记录初次JVM调优经历
  11. JavaScript删除DOM
  12. 安卓手机连接Mac电脑可用的管理工具:Android File Transfer
  13. 免费空间去广告(统计代码)方法:
  14. 想做IT行业项目管理,面向客户方向的,考ITIL和PMP哪个更好一些?
  15. 前端、数据库面试要点
  16. 揭秘三个霸道的引流方法 为你扫清没流量的烦恼
  17. 原生JavaScript实现连连看游戏
  18. matlab点符号怎么打出来的,在matlab中怎么输入特殊符号
  19. 纯C语言写计算器界面
  20. C/S软件架构设计模式

热门文章

  1. 【深度学习入门到精通系列】特别正经的合理调参介绍~❤️
  2. python【Matlibplot绘图库】画图种类(真の能看懂~!)
  3. python【数据结构与算法】对python抽象的再探索(看不懂你来打我)
  4. python【力扣LeetCode算法题库】5- 最长回文子串
  5. 常见OJ评判结果对照表
  6. mooc浙大数据结构PTA习题之一元多项式的乘法与加法运算
  7. java concurrency_Java Concurrency - Lock
  8. web项目导入变java项目_eclipse导入web项目变成java项目解决办法
  9. zabbix 监控项自动发现过滤_Zabbix监控之配置Linux自动发现与自动注册报警
  10. mysql库存先进先出_sql 先进先出 库存