关于客户端用ASP参生报表

来源:互联网 发布:识时务,知进退,善其身 编辑:程序博客网 时间:2024/05/21 16:57

先贴一篇较简单的用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") 

</script>

0 0
原创粉丝点击