APP下载

集成ASP、DLL、EXCEL技术快速自动生成网络复杂报表

2009-03-07王魁生

网络与信息 2009年2期
关键词:报表模板数据库

李 卫 王魁生

摘要:在Web页面上根据用户需求,从后端数据库服务器上提取数据生成动态Excel报表。

关键词:ASP;DLL;权限;EXCEL公式;报表;模板;数据库

前言

在Web页面上根据用户需求,从后端数据库服务器上提取数据生成动态Excel报表,用户可查看及下载、打印,进一步对数据做深层次的加工。综合Asp、DLL(动态链接库)及Excel等技术的特点,可缩短开发人员对报表的理解用时,加快报表的生成。这种技术也是黑客惯用的侵入系统的方法。

一、技术概述

1Asp的重定向及调用动态库技术

Asp(Active Server Page)技术是使用VBScriipt、JScript等简单易懂的脚本语言,结合HTML代码,可在服务器端直接执行,快速地完成网站的应用程序。根据用户需求能够快速、方便进行重定向操作。

它同时可以方便插入组件对象。组件是包含在动态链接库DLL中的可执行代码。组件可以提供一个或多个对象以及对象的方法和属性。组件提供的对象,在实际使用中只要创建对象的实例,并将这个新的实例分配变量名即可调用它的方法和属性。使用ASP的Server,CreateObject方法可以创建对象的实例,使用脚本语言的变量分配指令可以为对象实例命名。

2Excel报表模板生成技术

报表是从数据库中按照用户需求将数据提取后,进行分类、加工得到的最后的结果,而Excel中的公式、图表对于生成报表是极其方便的。利用Excel生成报表,可使开发人员和用户紧密结合,缩短开发人员对报表理解的时间,并且用Excel开发的报表能够使最终用户有能力快速进一步对数据进行综合分析。

3DLL的生成、数据库及Excel的操纵技术

动态链接库(Dynamlc Link Library,缩写为DLL)在服务器端上是经常使用的技术,它是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。它所调用的函数代码没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息,仅当应用程序被装入内存并开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码。这样就节省了服务器的内存。DLL中的例程可以被应用程序访问,而应用程序并不知道这些例程的细节。这样就提高了Web程序的安全性。

在封装好的DLL内,根据用户不同需求可以很容易生成数据库的联接、数据的提取和对已存在服务器上Excel模板文件(报表)的写入等功能。

4Web服务器上的权限设定

NT服务器上的文件安全模式分为两种,即用户权限和文件权限。必须要在Excel模板文件(报表)存在的目录设置其权限为用户System可完全控制,System用户拥有对这个目录完全控制权限。

二、实现方案

Web服务器使用Asp响应用户,根据用户不同的需求来调用DLL中不同的函数线程,该线程首先从数据库服务器上提取相应的数据,然后打开相应的Excel模板文件,将数据存入新的Excel文件。对数据进行加工处理工作重点是用Excel中的公式来定义,简单地用DLL中函数处理。最后Asp将用户需求重定向到已经生成的Excel文件上,用户即可查看、打印或者做进一步的加工厂作。当然,你必须设定NT上的System用户拥有对Excel模板存放的目录有完全控制的权限。

三、编程

1Asp编程

a用户需求选择界面

b响应用户请求的show.asp页面

2用VB编制DLL文件

在VB6.0中用向导生成一个ActiveXDLL工程文件,代码(略)。

3用Excel公式来进行数据的分类汇总工作

4最后用生成的DLL库在服务器端注册

四、结束语

实现一个目标可以选择单一的软件模式来实行,但综合几大流行软件的长处,往往可以起到事半功倍的效果。以上方法简单明了,但却在做报表工作时很有效,能节约大量的时间。同时能够自动在internet网上发布。但在程序的调试过程中,尤其是DLL的调试,最好在本地机上先调试通过,这样可以减少调试时间。本软件在西安长庆科技管理系统中得到了很好的应用。

猜你喜欢

报表模板数据库
Inventors and Inventions
把握数学解题模板,轻松做题一二三
SOLIDWORKS Electrical清单模板定制方法
数据库
数据库
镇长看报表
数据库
数据库
文档提效 用好WPS模板
月度报表