随着世界范围内Internet环境的形成,全球正进入一个以网络为中心的计算时代。Web模型是在传统的C/S模型的基础上发展起来的一种新的Browser/Server计算模式。Browser/Server模型简化了C/S中的客户端,客户端只需装上操作系统、网络协议软件及浏览器;而服务器端则集中了所有的应用逻辑,开发、维护等几乎所有工作也都集中在服务器端。这时的客户机被称为瘦客户机,服务器被称为肥服务器。而WEB应用中的客户端的报表打印则没有C/S模型那么容易实现,如何在不使用ActiveX控件的情况下,实现打印字体、字体颜色、表格宽度、打印纸型等的设置。下面就以一个小例子来说明。
一、
创建数据库
用 ACCESS创建一个名为user.mdb的数据库,然后建一张名为user的表,表结构如下:
二、
在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一样来调整和打印。
|