|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
一、前言 ASP在电子商务上应用广泛,报表的处理又有一些麻烦。本文介绍了在ASP中利用 本人写的Report Server Page脚本解释器实现报表的显示、打印。 二、预备工作 (1)安装Visual Reprort Design软件 Visual Report Design是本人写的一个免费的报表设计器,程序的发行只需要 安装一个控件即可。 (2)设计报表 通过Visual Report Design 的可视化界面可以生成报表的脚本:mxb.rsp。 三、实现报表的打印、显示 下面是调用的文档: printmx.asp <%Option Explicit%> <% dim ReportName,ret dim ReportAtl dim name set ReportAtl=Session("ReportAtl") ReportName=Server.MapPath("mxb.rsp") ret=reportatl.XMLToVBS(ReportName) if ret=-1 then response.write reportatl.ErrorMsg response.end end if ReportName=Server.MapPath("mxb.vbs") ret=reportatl.DoScript(ReportName) if ret=-1 then response.write reportatl.ErrorMsg set ReportAtl=nothing response.end end if set ReportAtl=nothing %> <html> <OBJECT id=reportatl classid="clsid:D3F064E5-F4C0-4C52-9E7F-263D96B7EA11" codebase="Report.cab#version=1,0,0,1"> </OBJECT> <script language=vbscript> dim ret ret=reportatl.DoPrintReport("mxb.zcg") if ret=-1 then msgbox reportatl.ErrorMsg end if </script> </html> 用Visual Report Design 产生的报表脚本mxb.rsp: <?xml version=\\\'1.0\\\' encoding=\\\'GB2312\\\' ?> <!DOCTYPE report SYSTEM \\\'print_report.dtd\\\' > <report name=\\\'报表\\\'> <report_script> dim rs,con,sql,lsh dim temp set con =CreateObject("ADODB.Connection") con.ConnectionString = "DBQ=c:reportdemoaspreport.mdb;DRIVER={Microsoft Access Driver (*.mdb)};" con.open Set rs =CreateObject("ADODB.Recordset") sql="SELECT * FROM cj,student where cj.id=student.id " rs.open sql,con,1,3 </report_script> <report_head height=\\\'12\\\'> <text name=\\\'vfptext\\\' top=\\\'4\\\' left=\\\'76\\\' width=\\\'26\\\' height=\\\'5\\\' font_name=\\\'宋体\\\' font_size=\\\'14\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 成绩明细表 </text> </report_head> <page_head height=\\\'6\\\'> <line name=\\\'vfpline\\\' top=\\\'0\\\' left=\\\'9\\\' width=\\\'178\\\' height=\\\'0\\\' weight=\\\'131072\\\'> </line> <line name=\\\'vfpline\\\' top=\\\'6\\\' left=\\\'9\\\' width=\\\'178\\\' height=\\\'0\\\' weight=\\\'131072\\\'> </line> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'18\\\' width=\\\'6\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 姓名 </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'46\\\' width=\\\'6\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 语文 </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'72\\\' width=\\\'6\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 数学 </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'99\\\' width=\\\'6\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 英语 </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'162\\\' width=\\\'6\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 合计 </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'130\\\' width=\\\'6\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'700\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 平均 </text> </page_head> <page_body height=\\\'8\\\'> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'15\\\' width=\\\'25\\\' height=\\\'4\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> Report.Write cstr(rs("xm")) </report_script> </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'45\\\' width=\\\'18\\\' height=\\\'4\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> Report.Write cstr(rs("yw")) </report_script> </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'71\\\' width=\\\'18\\\' height=\\\'4\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> Report.Write cstr(rs("sx")) </report_script> </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'98\\\' width=\\\'18\\\' height=\\\'4\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> Report.Write cstr(rs("yy")) </report_script> </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'130\\\' width=\\\'18\\\' height=\\\'4\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> Report.Write cstr((rs("yw")+rs("sx")+rs("yy"))/3) </report_script> </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'162\\\' width=\\\'18\\\' height=\\\'4\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> Report.Write cstr(rs("yw")+rs("sx")+rs("yy")) </report_script> </text> </page_body> <page_foot height=\\\'7\\\'> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'12\\\' width=\\\'13\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > <report_script> report.write "打印日期:"+formatdatetime(date(),1) </report_script> </text> <text name=\\\'vfptext\\\' top=\\\'2\\\' left=\\\'137\\\' width=\\\'50\\\' height=\\\'3\\\' font_name=\\\'宋体\\\' font_size=\\\'9\\\' font_weight=\\\'100\\\' font_italic=\\\'0\\\' font_underline=\\\'0\\\' > 共%Pages%页,第%Page%页 </text> <line name=\\\'vfpline\\\' top=\\\'0\\\' left=\\\'8\\\' width=\\\'178\\\' height=\\\'0\\\' weight=\\\'131072\\\'> </line> </page_foot> <report_script> do while not rs.eof page_body() rs.movenext loop rs.close set rs=nothing con.close set con=nothing </report_script> </report> 返回类别: 教程 上一教程: 动手写个小组件(组件入门)_ASP 下一教程: 巧用IN要害字实现数据的批量删除 您可以阅读与"使用XML+VBS技术在ASP中实现报表的打印"相关的教程: · ASP环境下轻松实现报表的打印 · 如何在ASP中实现网络打印功能 · 在ASP程序中打印EXCEL报表的新方式 · ASP中实现网络打印功能 · WEB打印设置解决方案四(在ASP中实现网络打印功能) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |