Web 方式打印报表

转载 2006年05月31日 11:56:00
近日看到论坛中有好多人提到,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">&nbsp;</td>
<td width="28%" class="style_td">&nbsp;</td>
<td width="43%" class="style_td">&nbsp;</td>
</tr>
<tr>
<td colspan="3" class="style_td">&nbsp;</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>&nbsp;</td>
</tr>
</table></td>
</tr>
</table>
<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">&nbsp;</td>
</tr>
<tr>
<td class="style_td">&nbsp;</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>&nbsp;</td>
</tr>
</table></td>
</tr>
</table>
</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>
-->

相关文章推荐

Java+JasperReports非web工程的报表导出与打印

一、首先准备好报表所需的模版,模版采用IReport完成,在此不再赘述,模版路径:C:\cdetResource\jasper,包括report.jasper、report.jrxml两个文件。 二、...

openerp 实现Web Client上的html报表直接打印

读了一下openerp新版本的代码,的确有不少的改进。尤其是web client,基本上是推倒重写的。 看官方的论坛上很多人在问如何在web client上实现报表的直接打印,想想现在的打印的确是不...

web打印组件康虎云报表与odoo整合示例

康虎云报表是最好用的web打印组件之一,而Odoo(前身为OpenERP)则是最好的开源ERP,把康虎云报表与odoo整合,实现odoo报表精准输出,复杂报表快速开发,这个任务我筹划很久了,也已经拖了...
  • wdmsyf
  • wdmsyf
  • 2017年06月06日 00:26
  • 957

利用XML实现通用WEB报表打印

专栏作品 利用XML实现通用WEB报表打印http://www.microsoft.com/china/community/Column/65.mspx 卢彦 方案适用性 . 1...
  • ilvu999
  • ilvu999
  • 2012年02月15日 11:58
  • 338

web水晶报表直接打印

VS.NET2005 CrystalReport的打印模式分为Pdf和ActiveX两种,打印模式的设置在CrystalReportViewer.PrintMode 属性中。1、PDF模式的打印需在服...
  • rockywu
  • rockywu
  • 2011年06月21日 14:55
  • 674

续:利用XML实现通用WEB报表打印(实现篇) 卢彦

引言:在《利》刊出后,有大量的读者发E-Mail给我表示对该方案非常感兴趣,同时还询问具体如何实现报表格式的解析和打印细节并索取该程序的源代码。读者的热情让我始料未及,虽然我一一对来信进行解答和发送了...

关于Web报表FineReport打印的开发应用案例

报表打印是报表使用和开发过程中经常碰到的问题,这里汇总了关于Web报表开发打印功能的一些典型应用案例,以应用最广泛的FineReport为例。...

报表打印技术-web打印

1.第一种方法:打印指定框架中的内容   此方法可以控制具体的打印内容   点击参考 2.第二种方法:通过CSS样式打印表格   CSS样式打印控制的是指定表格的背景,不能控制表格内容的输出。 ...

【原创】Web打印的解决方案之普通报表打印

做过很多的Web项目,大多数在打印页面内容的时候,采用的都是通过Javascript调用系统内置的打印方法进行打印,也就是调用PrintControl.ExecWB(?,?)实现直接打印和打印预览功能...

ATGrid WEB报表控件打印插件

  • 2008年02月04日 14:04
  • 2.27MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web 方式打印报表
举报原因:
原因补充:

(最多只允许输入30个字)