资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 编程开发 >
Advertisement
文章正文

WEB应用中报表打印的实现_编程

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   
  • MicrosoftWord对象 
  • 在ASP中使用Oracle数据库技巧(1) 
  • 利用ASP存取各种常用类型数据库(2) 
  • 在ASP中用集合成批操作数据库 
  • 连接数据库查询手册(不仅仅适用于asp) 
  • 巧用ASP实现Web数据统计、报表和打印 
  • ADO编程应用 
  • 让国外ASP服务器支持中文数据库(强烈推荐!!!) 
  • 纯ASP代码生成图表函数1——柱状图调用示例 
  • ASP生成柱型体,折线图,饼图源代码 
  • 页面导航:

    正文内容:

    web应用中报表打印的实现 

      随着世界范围内internet环境的形成,全球正进入一个以网络为中心的计算时代。web模型是在传统的c/s模型的基础上发展起来的一种新的browser/server计算模式。browser/server模型简化了c/s中的客户端,客户端只需装上操作系统、网络协议软件及浏览器;而服务器端则集中了所有的应用逻辑,开发、维护等几乎所有工作也都集中在服务器端。这时的客户机被称为瘦客户机,服务器被称为肥服务器。而web应用中的客户端的报表打印则没有c/s模型那么容易实现,如何在不使用activex控件的情况下,实现打印字体、字体颜色、表格宽度、打印纸型等的设置。下面就以一个小例子来说明。

      一、 创建数据库

      用 access创建一个名为user.mdb的数据库,然后建一张名为user的表,表结构如下:

    字段名称 数据类型

    username  文本

    name 文本

    sex  文本

      二、 在asp中的实现

      创建一个名为aspreport.asp的文件,其源代码如下:

    <%

    等到文本缓冲完才显示

    response.buffer = true

    dim accessdb, cn, rs, sql

    数据库名

    accessdb="user.mdb"

    连接数据库

    cn="driver={microsoft access driver (*.mdb)};"

    cn=cn & "dbq=" & server.mappath(accessdb)

    创建记录集

    set rs = server.createobject("adodb.recordset")

    查询语句

    sql = "select * from user "

    开始查询

    rs.open sql, cn

    %>

    <%

    告诉浏览器用word来显示文档内容

    response.contenttype = "application/msword"

    文档设定

    response.addheader "content-disposition", "inline; filename=report.doc"

    %>

    <html>

    <head>

    <title>报表</title>

    </head>

    <body bgcolor="#ffffff">

    <center><h1>报表</h1></center>

    <table border=1 cellspacing=0 cellpadding=0 bordercolor=#000000 align=center>

    <tr>

    <td>用户名</td>

    <td>真实姓名</td>

    <td>性别</td>

    </tr>

    <%

    移到第一个记录

    rs.movefirst

    do while not rs.eof

    %>

    <tr>

    <td><%= rs("username") %></td>

    <td><%= rs("name") %></td>

    <td><%= rs("sex") %></td>

    </tr>

    <%

    移到下一个记录

    rs.movenext

    loop %>

    <%

    关闭记录集

    rs.close

    set rs=nothing

    response.flush

    response.end

    %>

    </table>

    </body>

    </html>

      把上面的report.asp文件和user.mdb数据库放在同一目录下,再用iis或pws把他们所在的目录发布,打开浏览器,只要客户端机子上有装word,就会自动调用word以内嵌方式在浏览器上显示,此时完全可以像使用word一样来调整和打印。

      三、 在jsp中的实现

      创建一个名为jspreport.jsp的文件,其源代码如下:

    <%@ page contenttype="application/msword;charset=gb2312" %>

    <%@ page import="java.sql.*" %>

    <html>

    <head>

    <title>报表</title>

    </head>

    <body bgcolor="#ffffff">

    <center><h1>报表</h1></center>

    <table border=1 cellspacing=0 cellpadding=0 bordercolor=#000000 align=center>

    <tr>

    <td>用户名</td>

    <td>真实姓名</td>

    <td>性别</td>

    </tr>

    <%

    class.forname("sun.jdbc.odbc.jdbcodbcdriver");

    string url="jdbc:odbc:user";

    //连接user数据库

    connection con=drivermanager.getconnection (url, "", "");

    statement stmt=con.createstatement();

    resultset rs=stmt.executequery("select * from user ");

    //查询user表

    while(rs.next()){

    %>

    <tr>

    <td><%= rs.getstring("username") %></td>

    <td><%= rs.getstring("name") %></td>

    <td><%= rs.getstring("sex") %></td>

    </tr>

    <%

    }

    %>

    <%

    rs.close();

    stmt.close();

    con.close();

    %>

    </table>

      jsp的服务器以tomcat为例,把上面的jspreport.jsp和user.mdb放在tomcat的root目录下。在控制面板的odbc中建立相应的dsn,类型mdb数据库,数据源名为user。启动tomcat,输入相应的url,就可以看到和以上面asp一样的效果。

      以上只是一个简单的例子,在作报表时,可以先用word设计好,然后另存为网页,再利用此网页改编成相应的脚本,就可以达到较好的效果。此方法有一个限制就是客户端要有word软件,但是会比使用activex控件安全和方便,而且服务器端使用的平台与webserver是可以比较灵活的,特别适用于基于web的oa系统。


     

     
    热门推荐笔记本: IBM笔记本
    相关文章:
    webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
    ©2007 popbb.net All Rights Reserved