广·西·电·脑·服·务·网                                     设为首页  收藏本站
首 页 IT 报 道 操作系统 硬件学院 软件学院 网络学院 服 务 器 软件下载
DIY经验 数据恢复 维修宝典 电脑保养 故障症状 黑客安全 病毒快报 电脑优化
维修网点 IT 黄 页 网络游戏 大师答疑 网站技术 动漫游戏 服务社区 素材图片
 广西电脑服务网 ·广西最大的电脑服务平台
您现在的位置: 广西电脑维修在线 >> 网站技术 >> ASP技术 >> ASP技巧 >> 网站技术正文
一篇关于客户端用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
            .range("C"+trim(RowCnt)+":"+"D"+trim(RowCnt)).merge    
       end with
       RowCnt=RowCnt+1
       HeadRow=HeadRow+1
    loop
    
    'Format the head name of cells (The new page of row=5,6,7)
      
    With xlSheet1
  

[1] [2] [3] 下一页

 
网站技术录入:admin    责任编辑:admin 
  • 上一篇网站技术:

  • 下一篇网站技术:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

     IT图片报道

    联想D222到货22寸LCD迅速串红市场

    入门超频王!双敏945PL狂跑1200 F

    冠捷春季新品197V+突破高对比上市

    核心500MHz!性价比王者双敏X1650
     IT热点报道

    普通IT报道 联想D222到货22寸LCD迅速串红市场
    推荐IT报道 入门超频王!双敏945PL狂跑1200 FSB!
    推荐IT报道 冠捷春季新品197V+突破高对比上市
    普通IT报道 核心500MHz!性价比王者双敏X1650GT登场!
    普通IT报道 549元双敏945GC主板到货!
    普通IT报道 宏碁笔记本存储王As3683升级送礼!
    普通IT报道 魅族MP3全线暴跌 M6SP4G版不足700
    普通IT报道 OPPO首款顶级4.3寸大屏MP4 A3上市
    普通IT报道 维修服务拯救PC,谁拯救维修服务?
    普通IT报道 影驰8800GTS游戏盒子上市
    关于公司 | 免责声明 | 广告服务 | 招贤纳士 | 联系我们 | 友情链接 | 网站地图 1 2 3
    Copyright@2005 - 2006  http://www.GXF.com.cn  All Right Reserved  
    桂ICP备06002242号

    技术咨询
    22097366
    10231086
    30636841
    技术交流群
    27717914