| 一篇关于客户端用ASP+rds+VBA参生报表的好东东(高级篇) |
| 作者:佚名 文章来源:不详 点击数: 更新时间:2007-2-14 14:58:01 |
|
test_print_report.asp
<html> <head> <meta content="text/html; charset=BIG5" http-equiv="Content-Type"> <title>client use rds produce Excel report</title> </head> <body bgColor="skyblue" topMargin=0 leftMargin="20" oncontextmenu="return false" rightMargin="0" bottomMargin="0"> <form action="test_print_report.asp" method="post" name="myform"> <div align="center"><center> <table border="5" bgcolor="#ffe4b5" style="HEIGHT: 1px; TOP: 0px" bordercolor="#0000ff"> <tr> <td align="middle" bgcolor="#ffffff" bordercolor="#000080"> <font color="#000080" size="3"> client use rds produce Excel report </font> </td> </tr> </table> </div> <div align="left"> <input type="button" value="Query Data" name="query" language="vbscript" onclick="fun_query()" style="HEIGHT: 32px; WIDTH: 90px"> <input type="button" value="Clear Data" name="Clear" language="vbscript" onclick="fun_clear()" style="HEIGHT: 32px; WIDTH: 90px"> <input type="button" value="Excel Report" name="report" language="vbscript" onclick="fun_Excel()" style="HEIGHT: 32px; WIDTH: 90px"> </div> <div id="adddata"></div> </form></center> </body> </html> <script language="vbscript"> dim rds,rs,df dim strSQL,StrRs,strCn,RowCnt dim xlApp, xlBook, xlSheet1,xlmodule,XlPageSetup dim HeadRowCnt,TitleRowCnt,ContentRowCnt,FootRowCnt dim PageRowCnt,PageNo,TotalPageCnt,ContentRowNowCnt dim ColumnAllWidth,ColumnAWidth,ColumnBWidth,ColumnCWidth,ColumnDWidth
sub fun_query() set rds = CreateObject("RDS.DataSpace") Set df = rds.CreateObject("RDSServer.DataFactory","http://iscs00074") strCn="DRIVER={SQL Server};SERVER=iscs00074;UID=sa;APP=Microsoft Development Environment;DATABASE=pubs;User Id=sa;PASSword=;" strSQL = "Select * from jobs" Set rs = df.Query(strCn, strSQL) if not rs.eof then StrRs="<table border=1><tr><td>job_id</td><td>job_desc</td><td>max_lvl</td><td>min_lvl</td></tr><tr><td>"+ rs.GetString(,,"</td><td>","</td></tr><tr><td>"," ") +"</td></tr></table>" adddata.innerHTML=StrRs StrRs="" else msgbox "No data in the table!" end if end sub sub fun_clear() StrRs="" adddata.innerHTML=StrRs end sub
sub fun_Excel() set rds = CreateObject("RDS.DataSpace") Set df = rds.CreateObject("RDSServer.DataFactory","http://iscs00074") strCn="DRIVER={SQL Server};SERVER=iscs00074;UID=sa;APP=Microsoft Development Environment;DATABASE=pubs;User Id=sa;PASSword=;" strSQL = "Select count(*) as recordcnt from jobs" Set rs = df.Query(strCn, strSQL) TotalPageCnt=rs("recordcnt") rs.close set rs=nothing strSQL = "Select * from jobs" Set rs = df.Query(strCn, strSQL) Set xlApp = CreateObject("Excel.APPLICATION") Set xlBook = xlApp.Workbooks.Add Set xlSheet1 = xlBook.ActiveSheet Set xlmodule = xlbook.VBProject.VBComponents.Add(1) xlSheet1.Application.Visible = True xlSheet1.Application.UserControl = True i=0 RowCnt=1 PageNo=1 HeadRowCnt=4 'The header number to print in one page! TitleRowCnt=3 'The title number to print in one page! ContentRowCnt=6 'The record number to print in one page! FootRowCnt=1 'The footer number to print in one page! PageRowCnt=HeadRowCnt+TitleRowCnt+ContentRowCnt+FootRowCnt TotalPageCnt=int((TotalPageCnt+ContentRowCnt-1)/ContentRowCnt) ColumnAWidth=5 'The ColumnA Width! ColumnBWidth=30 'The ColumnB Width! ColumnCWidth=5 'The ColumnC Width! ColumnDWidth=5 'The ColumnD Width! 'Add the Head and Title call head_title 'Add the Data do while not rs.eof With xlSheet1 .cells(RowCnt,1).value = rs(0) .cells(RowCnt,2).value = rs(1) .cells(RowCnt,3).value = rs(2) .cells(RowCnt,4).value = rs(3) end with rs.movenext ContentRowNowCnt=ContentRowNowCnt+1 if not rs.eof then if ContentRowNowCnt mod (ContentRowCnt) =0 then ContentRowNowCnt=0 RowCnt = cint(RowCnt) + 1 'Add the Foot call foot_title 'Add the Head and Title call head_title else RowCnt = cint(RowCnt) + 1 end if else RowCnt = cint(RowCnt) + 1 call foot_title end if loop 'Format the Grid and Font call format_grid 'Release References 'XLSheet1.PrintOut 'xlBook.Saved = True Set xlmodule = Nothing Set xlSheet1 = Nothing Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing rs.close set rs=nothing end sub
sub head_title() dim HeadRow HeadRow=1 do while HeadRow<= HeadRowCnt With xlSheet1
[1] [2] [3] 下一页
| 上网速度更快更爽、更安全下载使用Firefox火狐浏览器
|
|
|
| 网站技术录入:admin 责任编辑:admin |
|
上一篇网站技术: 使用数据库判断在线名单以及在线人数 下一篇网站技术: 又一种在线人数统计方法(只用1个APPLICATION,原创) |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
|
|
|
|
|