巧用ASP实现Web数据统计、报表和打印

来源:百度文库 编辑:神马文学网 时间:2024/04/26 19:43:22
1、 引言
随着Internet的飞速发展,基于Web开发的业务应用系统越来越多,如办公自动化、电子商务和管理信息系统(MIS)等。这些Web业务应用系统经常涉及到数据的统计、报表和打印。ASP在实施动态交互和生成动态页面方面具有很大的优势,但在处理复杂数据统计、报表和打印时却遇到不小的麻烦。本文阐述一种利用ASP实现Web数据统计、报表的基本思路和实现方法,同时提供一种巧妙调用Word打印报表的解决方案。
2、 应用实例
假设有一家公司利用网络MIS系统对公司员工进行管理,必然会涉及到各部门的员工统计。为了简单起见,假设最终的统计报表如下: 公司员工统计表部门合计员工姓名市场部2张三 李四研发部3王五 赵六 刘七员工合计5 与传统单机MIS系统相比,在网络MIS系统中使用ASP实现以上数据统计、报表和打印会遇到以下问题:(1) 数据统计时需要按部门进行分类统计,同时要记下各部门员工的具体名单。(2) 报表生成时需按具体要求动态绘制几行几列表格,同时在适当的地方保持空白。(3) 表格打印可以简单地按网页打印,但效果不好,而且不容易控制。
3、 实现方法
简述基于Web的业务应用一般采用三层结构,客户端是普通的Web浏览器,中间业务逻辑应用层存放于Web服务器上,由Web服务器上的数据库接口访问后台数据库。利用ASP实现Web数据统计、报表和打印的过程如图所示:浏览器 HTML VBScript 统计报表 Word 对象 Web服务器业务逻辑实现数据库访问接口数据库 Word本地打印 (1) 客户端向Web服务器发送数据统计请求。(2) Web服务器执行SQL语句,从后台数据库取得统计数据,在页面上动态生成报表。(3) 在客户端运行脚本,使用VBScript脚本函数CreateObject在本地创建Word的Document对象的实例,也就是在客户端创建Word文档,设定表格属性,然后将页面上的报表数据填入本地Word表格,最后保存文档,执行本地Word打印。
4、 实现过程分析
(1)数据库连接首先建立数据库(data.mdb),简单的员工资料表(personnel)结构如下: personnel:department,文本;name,文本;然后建立一个ODBC数据源(DSN),利用DSN指向ODBC数据库。(2)程序代码分析(在此只分析统计报表程序tongji.asp) //以下显示表格标题和输出表头公司员工统计表 //注意:此处标明表格的id为data 部门 合计 员工姓名 //如果flag为0,表示该部门是首次出现,表格此处就应该输出部门名称,部门员工合计人数 //如果flag不为0,表示该部门不是首次出现,表格此处就应该输出空白 //无论该部门是否首次出现,此处输出员工姓名 //表格最后一行输出总人数合计 员工合计 打印"> //点击“打印”按钮,调用vbscript函数buildDoc生成本地Word文档,实现本地打印。 //以下VBScript代码实现buildDoc函数
5、 结束语
以上程序在Windows2000及IIS5.0下运行通过,数据库采用Access2000。执行打印之前,需要将浏览器的安全级别设为低,或在中级安全级别下将ActiveX控件设为启用。该方法的优点在于实现统计报表十分简单,调用Word打印非常方便,并且可以按用户要求对表格属性进行设置;不足之处是需要调节浏览器的安全设置,且不支持图片和特殊字体的打印,同时客户端必须安装Microsoft Word软件。