近日看到论坛中有好多人提到,Web 方式打印报表 的问题 都感觉很辣手。 本人有点小技巧愿意拿处来和大家分享。 本方法不分语言(ASP,ASP.NET,JSP,PHP..)可以生成HTML的语言都可以使用。 其实很简单只要你略懂 HTML,CSS 即可,打印的出来的效果(那就要看你自己了)个人认为一般的打印完全可以应付。
先给一个简单实用的方式(可以打印多页,控制分页,隐藏非打印项目) <!--语言无关 保存成 .HTML 看看--> <html> <head> <title>报表</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <!--media=print 这个属性可以在打印时有效--> <style media=print> .Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目--> .PageNext{page-break-after: always;}<!--控制分页--> </style>
<style> .style_td { border-bottom: 1 solid #000000; border-left: 1 solid #000000; border-right: 0 solid #ffffff; border-top: 0 solid #ffffff; } .style_tab { border-color: #000000 #000000 #000000 #000000; border-style: solid; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 1px; border-left-width: 1px; } .NOPRINT { font-family: "宋体"; font-size: 9pt; }
</style>
</head>
<body > <center class="Noprint" > <p> <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0> </OBJECT> <input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)> <input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)> <input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)> </p> <p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> <br/> </p> <hr align="center" width="90%" size="1" noshade> </center>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="style_tab"> <tr> <td colspan="3" class="style_td">第1页</td> </tr> <tr> <td width="29%" class="style_td"> </td> <td width="28%" class="style_td"> </td> <td width="43%" class="style_td"> </td> </tr> <tr> <td colspan="3" class="style_td"> </td> </tr> <tr> <td colspan="3" class="style_td"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="50%" class="style_td"><p>这样的报表</p> <p>对一般的要求就够了。</p></td> <td> </td> </tr> </td> </tr>
<hr align="center" width="90%" size="1" noshade class="NOPRINT" > <!--分页--> <div class="PageNext"></div> <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="style_tab"> <tr> <td class="style_td">第2页</td> </tr> <tr> <td class="style_td">看到分页了吧</td> </tr> <tr> <td class="style_td"> </td> </tr> <tr> <td class="style_td"> </td> </tr> <tr> <td class="style_td"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="50%" class="style_td"><p>这样的报表</p> <p>对一般的要求就够了。</p></td> <td> </td> </tr> </td> </tr>
</body> </html> <!--
WebBrowser 控件对象。只要是 win98 以上版本都有。 其实配合“分页样式表”,和 HTML表格 一般的打印都可以实现的。
如果想对 非Windows平台用户使用。 请去掉下面这些: <center class="Noprint" > <p> <!--最主要是这个--> <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0> </OBJECT> <input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)> <input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)> <input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)> </p> <p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> <br/> </p> <hr align="center" width="90%" size="1" noshade> </center> -->
|