资源描述:
《基于WEB的多页打印报表动态生成.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MicrocomputerApplicationsVol.22,No.5,2006 学习园地 微型电脑应用2006年第22卷第5期文章编号:1007-757X(2006)04-0059-03基于WEB的多页打印报表动态生成王建平①摘 要:随着INTENET技术的日益普及,许多行业的管理信息系统都是基于BöS结构环境,在客户端的浏览器上直接显示与打印多页报表显得尤为迫切。本文采用ASP与DHTML结合技术,提出了在WEB页面中解决特定格式多页报表动态生成的技术方案。关键词:多页报表;WEB;管理信息系统中图分类号:TP31 文献标识码:B1 引言3
2、多页报表生成的解决方法基于HTML的WEB页面,由于其易用性和跨平台的特3.1WEB页面中报表内容的构造性,迅速在各种信息系统中得到应用。MIS系统中,报表打印WEB页面中多页报表实现的技术路线是:在服务器端用是一个必不可少的基本功能。在BöS模型的网络管理信息系VBScript语言调用数据库生成报表内容,这此内容传输到客统中,客户端用的比较多的是IE浏览器,但是IE的报表打印户端构成WEB页面。在客户端使用DHTML对WEB页面中功能不完善,灵活性不够,还不能够解决应用系统中各种格式的各元素进行操作,来实现多页报表的生成。报表的打印。基于WEB的管理信息系统开发
3、中,解决报表打印的方案,有采用Plugin技术的,也有采用ActiveX控件等[1][2][3][4]等,还有采用第三方(CrystalReports)解决方案。但是,基于WEB窗口多页报表动态生成的文献却鲜有见诸报道,本文利用采用ASP与DHTML结合技术,提出了在WEB页面中解决按特定格式多页报表动态生成的方案。2 报表模板1在信息管理系统中,报表内容常常要反映数据库中多个表的记录。最常见的报表内容是由一对多两个表中的记录反映,这样的报表一般可以分成标题区、概况区(主表记录)、数据区(子表记录)和脚区四大部分(图1)。在生成报表时,子表记录有多有少。当子表记录
4、比较多时,则要用多页报表来表示。多页报表的首页、中间页和末页的构成部分略有差别。报表首页(图2-1)只有标题区、概况区和数据区三个部分,报表的中间页只有标题区和数据区两部分(图2-2)、报表末页则在客户端进行多页报表生成主要涉及操作有:读取WEB为标题区、数据区和脚区三部分(图2-3)。页面上各个HTML元素高度、打印纸张的高度等数据;计算在图2报表中,用A、B、C和X字符串表示的内容是随着报表总页数及各页上安置哪些子表记录;移动各个层及子表数据库内容而变化的。一般用A、B、C字符表示的内容长度可记录到相应位置;重新写各页上相关内容(如总页码与第几页以预料的,而用
5、X字符表示的内容的长度是变化。当X字符内等)。这些操作过程都安排GenMulPage()子程序中,通过页面容长度超过报表中预留宽度时,它需用多行来表示(如图1和的
中的onLOAD()来调用。图2-2),这样就给多页报表的自动生成增加了技术难度。在WEB页面中,报表的标题区、概况区、数据区和脚区分别用7个层
来构造,每个层中的内容主要由表格<①作者简介:王建平,苏州科技学院城市与环境学系,硕士,副教授,苏州 215011·59·MicrocomputerApplicationsVol.22,No.5,2006 学习园地 微型电脑应用2
6、006年第22卷第5期TABLE>来组织。生成多页报表的ASP文件主要代码示意如.....................................下:数据库子表第n条记录数据<öTABLE>-->7、="visibility:<%=lc2<öSCRIPT>Show%>;width:<%=PageWidth%>px">
多页报表生成<öTITLE><öHEAD>...以下空白<ölabel>..<ötable><ödiv><%...用VBScript从数据库的主表及子表中分别获得数据、设置纸张大小等初始值......%>