關於用戶端用ASP參生報表

來源:互聯網
上載者:User
先貼一篇較簡單的用ASP+RDS用戶端參生報表 
此文希望能進精華篇
下一回貼一篇較複雜的
說明:(若提示ActiveX 元件無法參生 RDS.DataSpace)
IE需設定安全選項
操作:菜單工具->INTERNET選項->安全性->自訂 
設定 起始但ActiveX不標示為安全->開啟 
<html>
<head>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<title>client use rds produce excel report</title>
<link rel="stylesheet" href="cdutmenu/common.css">
</head>
<body bgColor=skyblue topMargin=5 leftMargin="20" oncontextmenu="return false" rightMargin=0 bottomMargin="0">

<div align="center"><center> 
<table border="1" 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>

<form action="long.asp" method="post" name="myform">
<DIV align=left>
<input type="button" value="Query Data" name="query" language="vbscript" onclick="fun_excel(1)" style="HEIGHT: 32px; WIDTH: 90px"> 
<input type="button" value="Clear Data" name="Clear" language="vbscript" onclick="fun_excel(2)" style="HEIGHT: 32px; WIDTH: 90px"> 
<input type="button" value="Excel Report" name="report" language="vbscript" onclick="fun_excel(3)" style="HEIGHT: 32px; WIDTH: 90px"> 
</div>
<DIV id="adddata"></div>
</form>
</body>
</html>

<script language="vbscript">
sub fun_excel(t)
Dim rds,rs,df 
dim strCn,strSQL,StrRs
Dim xlApp, xlBook, xlSheet1 

'use rds to produce client recordset 
set rds = CreateObject("RDS.DataSpace")
Set df = rds.CreateObject("RDSServer.DataFactory","http://server ;name")
'the connection string to sql server to query database:pubs--->table:jobs
strCn="DRIVER={SQL Server};SERVER=server name;UID=sa;APP=Microsoft Development Environment;DATABASE=pubs;User Id=sa;PASSWORD=;"
'the query string of sql
strSQL = "Select top 8 * from jobs order by job_id"
'the recordset
Set rs = df.Query(strCn, strSQL)

if t=1 then 
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
elseif t=2 then 
StrRs=""
adddata.innerHTML=StrRs
elseif t=3 then 
Set xlApp = CreateObject("EXCEL.APPLICATION")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet1 = xlBook.Worksheets(1)
xlSheet1.cells(1,1).value ="the job table "
xlSheet1.range("A1:D1").merge
xlSheet1.cells(2,1).value = "job_id"
xlSheet1.cells(2,2).value = "job_desc"
xlSheet1.cells(2,3).value = "max_lvl"
xlSheet1.cells(2,4).value = "min_lvl"
cnt = 3
'adapt to office 97 and 2000
do while not rs.eof 
xlSheet1.cells(cnt,1).value = rs("job_id")
xlSheet1.cells(cnt,2).value = rs("job_desc")
xlSheet1.cells(cnt,3).value = rs("max_lvl")
xlSheet1.cells(cnt,4).value = rs("min_lvl")
rs.movenext
cnt = cint(cnt)   1
loop
xlSheet1.Application.Visible = True

'adapt to office 2000 only
'xlSheet1.Range("A3").CopyFromRecordset rs
'xlSheet1.Application.Visible = True
end if 
end sub
</script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.