Web报表打印·简单实现

原创 2006年05月20日 11:46: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>
-->

Web报表打印·简单实现·(一)

 近日看到论坛中有好多人提到,Web 方式打印报表 的问题 都感觉很辣手。本人有点小技巧愿意拿处来和大家分享。本方法不分语言(ASP,ASP.NET,JSP,PHP..)可以生成HTML的语言都可以使...
  • FlashElf
  • FlashElf
  • 2004年04月15日 17:34
  • 3670

web报表打印大全

首先在网页中添加:然后就可以依次加入功能按钮了: 将这两块东西放到就不会打印这些按钮了。当然要定义noprint了:.noprint{ DISPLAY: none }只要把不想打印的东西的css设置成...
  • nedvedno1
  • nedvedno1
  • 2007年07月29日 16:16
  • 3288

WEB报表打印

       自从电脑被发明以来,将电脑中的内容打印出来是自然而然的需求。进入互联网时代后便更是如此。但要想完美地实现Web打印功能却并非易事,甚至于根本都不可能彻底地解决好这个问题。      记得...
  • gengpeng5891
  • gengpeng5891
  • 2011年01月07日 09:42
  • 214

用C#开发WEB报表的实例(开头的话)

  前些日子,正打算学习C#,正好有一个客户的项目,要求定制一套网上报表填报系统。正好,通过项目型的开发过程,来学习编程语言,是我认为最好的方法,因此没有太多犹疑,决定采用C#来做这件事。  花了几天...
  • startdiy
  • startdiy
  • 2008年02月17日 17:23
  • 1170

javaWeb+JasperReport报表开发简单实例

在网上搜索了很多JasperReport报表开发的例子,基本上都是说的一些理论知识,没有一个直接用代码直观表达的,想必大家想学习jasperReport报表的开始,都希望能够直观的看到代码,研究出代码...
  • xiaosheng_papa
  • xiaosheng_papa
  • 2015年03月13日 10:01
  • 4519

Web报表开发:ireport

Web报表开发 序言 在很多实际的项目里,报表都是其中十分重要的组成部分,例如把查询结果以报表的形式呈现出来。这里所提到的报表可不是简单的二维表,而是拥有复杂表头的、多维的、可以在运行期从...
  • yu452148611
  • yu452148611
  • 2015年09月01日 09:39
  • 1034

FastReport如何打印表格式的空行?

var    PageLine: integer;       //在現在頁列印到第幾行    PageMaxRow: integer=15;  //設定每頁列數procedure MasterDat...
  • johnny_83
  • johnny_83
  • 2007年07月22日 10:01
  • 1057

web报表

www.finereport.com
  • zgbsoap
  • zgbsoap
  • 2005年09月13日 13:36
  • 722

JasperReporter Ireport Java 打印报表

JasperReporter Ireport Java 打印报表         JasperReporter是一个强大的开源报表,通常情况下使用Ireport编辑器进行编辑。今天和大家分享的是Ja...
  • hexiaohu2009
  • hexiaohu2009
  • 2012年12月28日 23:42
  • 5870

web报表开发技术专题一:序号问题

近期因为专注于用c# 实现web报表,积累了一些经验和心得,也写过一篇介绍文章,也有网友提出没有说清楚。现觉得想用单篇文章来说明web报表开发难免会大而空,落不到实处。因而便想到每篇文章只关注web报...
  • sgear
  • sgear
  • 2007年07月16日 12:09
  • 653
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web报表打印·简单实现
举报原因:
原因补充:

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