亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP網站遠程客戶實現EXCEL打印功能

2024-05-04 11:07:37
字體:
來源:轉載
供稿:網友
在進行ASP網站開發時,有時需在客戶端調用MSSQL數據庫的數據進行打印,若調用數據量小,可以通過在客戶端運用FileSystemObject生成文件對象的方法實現打印,這里不再贅述。若需調用大量數據,可在客戶端腳本中實例化RDS.DataSpace(Remote Data Service)對象,并采用遠程提供程序通過ASP網站訪問MSSQL數據庫(設置成只能通過RDS Default Handler或自定義商業對象才能訪問數據庫,可保證數據庫的安全),再在客戶端實例化EXCEL.APPLICATION對象,把數據集中的數據寫入EXCEL中,再進行保存或打印。代碼如下:

<html>

<head>

<META content="text/html; charset=gb2312" http-equiv=Content-Type>

<title>客戶端電子表格打?。?title>

</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">

客戶端電子表格打印

</font>

</td>

</tr>

</table>

</div>

<form name="myform">

<DIV align=left>

<input type="button" value="Excel Report" name="report" language="vbscript" onclick="fun_excel()" style="HEIGHT: 32px; WIDTH: 90px">

</div>

</form>

</body>

</html>

<script language="vbscript">

sub fun_excel()

Dim rds,rs,df

dim strCn,strSQL,StrRs

Dim xlApp, xlBook, xlSheet1

set rds = CreateObject("RDS.DataSpace")

Set df = rds.CreateObject("RDSServer.DataFactory","http://192.168.0.1") '192.168.0.1 為WEB服務器IP地址

strcn="provider=ms remote;remote server=http://192.168.0.1;handler=msdfmap.handler;data source=pubsdatabase;" '192.168.0.1 為WEB服務器IP地址

strsql= "getalljobs"

Set rs = df.Query(strCn, strSQL)


Set xlApp = CreateObject("EXCEL.APPLICATION") '注意不是:Server.CreateObject("EXCEL.APPLICATION")

Set xlBook = xlApp.Workbooks.Add

Set xlSheet1 = xlBook.Worksheets(1)

xlSheet1.cells(1,1).value ="職務表"

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

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

end sub

</script>

  也可以實例化RDS DataControl,只需把以上部分代碼進行修改:

set rds = CreateObject("RDS.DataSpace")

Set df = rds.CreateObject("RDSServer.DataFactory","http://192.168.0.1") '192.168.0.1 為WEB服務器IP地址

strcn="provider=ms remote;remote server=http://192.168.0.1;handler=msdfmap.handler;data source=pubsdatabase;" '192.168.0.1 為WEB服務器IP地址

strsql= "getalljobs"

Set rs = df.Query(strCn, strSQL)

  修改為:

set DC = createobject("RDS.DataControl")

dc.ExecuteOptions =1 '設置成同步執行,可以簡化下步代碼

dc.FetchOptions = 1

With dc

.Server = "http://192.168.0.1"

.Handler = "MSDFMAP.Handler"

.Connect = "Data Source=pubsdatabase;"

.Sql = "getalljobs"

.Refresh

End With

set rs= dc.Recordset

  修改文件MSDFMAP.INI(若在WIN98,C:/windows/msdfmap.ini;若在WIN2000,D:/winnt/msdfmap.ini;若在WIN2000 SERVER,D:/winnts/msdfmap.ini)。

[sql getalljobs]

Sql="SELECT * FROM jobs"


[connect pubsDatabase]

Access=Readonly

Connect="provider=sqloledb;data source=sql server;initial catalog=pubs;UID=userid;PWD=password"

  打開注冊表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/W3SVC/Parameters/ADCLaunch 若無 RDSServer.Datafactory,請添加。本例使用RDS Default Handler訪問數據庫,若不通過RDS Handler訪問數據庫,修改注冊表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/DataFactory/ HandlerInfo 將HandlerRequired=1 設置成HandlerRequired =0。請注意,若不通過RDS Handler或自定義商業對象訪問數據庫,將對數據庫帶來安全隱患,所以作者極力推薦采用只能通過RDS Handler或自定義商業對象才能訪問數據庫的方式。

  下面用VB編寫一個自定義商業對象,代碼如下:

'編寫ActiveX DLL,名稱:rsget.dll,包含類rsreturn,方法returnrs

Public Function ReturnRs(strDB As Variant, strSQL As Variant) As ADODB.Recordset

'Returns an ADODB recordset.

On Error GoTo ehGetRecordset

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Select Case strDB

Case "ydjjspdatabase"

strDB = "ydjjsp"

Case "pubsdatabase"

strDB = "pubs"

End Select


If strSQL = "getallbuy" Then

strSQL = "select * from buyuser"

GoTo nextstep

End If

If Left(strSQL, InStr(strSQL, "(") - 1) = "getpubsbyid" Then

If InStr(strSQL, ",") <= 0 Then

Dim str As String

str = Mid(strSQL, InStr(strSQL, "(") + 2, InStr(strSQL, ")") - InStr(strSQL, "(") - 3)

strSQL = "select * from jobs where job_id='" & str & "'"

Else

Dim strstart, strend As String

strstart = Mid(strSQL, InStr(strSQL, "(") + 2, InStr(strSQL, ",") - InStr(strSQL, "(") - 3)

strend = Mid(strSQL, InStr(strSQL, ",") + 2, InStr(strSQL, ")") - InStr(strSQL, ",") - 3)

strSQL = "select * from jobs where job_id>='" & strstart & "' and job_id<='" & strend & "'"

End If

End If

nextstep:

Dim strConnect As String

strConnect = "Provider=SQLOLEDB;Server=ddk;uid=ydj;pwd=ydj; Database=" & strDB & ";"

cn.Open strConnect

rs.CursorLocation = adUseClient

rs.Open strSQL, cn, adOpenStatic, adLockOptimistic, adCmdText

Set ReturnRs = rs

Exit Function

ehGetRecordset:

Err.Raise Err.Number, Err.Source, Err.Description

End Function

  把rsget.dll復制到C:/WINDOWS或D:/WINNT,開始/運行,輸入Regsvr32.exe c:/windows/rsget.dll或Regsvr32.exe d:/winnt/rsget.dll,按確定按鈕,注冊成WEB服務器組件,并在注冊表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/W3SVC/Parameters/ADCLaunch 添加rsget.rsreturn。

  若使用自定義商業對象,修改上面的ASP文件代碼:

set rds = CreateObject("RDS.DataSpace")

Set df = rds.CreateObject("RDSServer.DataFactory","http://192.168.0.1") '192.168.0.1 為WEB服務器IP地址

strcn="provider=ms remote;remote server=http://192.168.0.1;handler=msdfmap.handler;data source=pubsdatabase;" '192.168.0.1 為WEB服務器IP地址

strsql= "getalljobs"

Set rs = df.Query(strCn, strSQL)

  改為:

set rds = CreateObject("RDS.DataSpace")

Set df = rds.CreateObject("rsget.rsreturn","http://192.168.0.1")

set rs=df.returnrs("pubsdatabase","getpubsbyid('2','10')")

  另外在瀏覽器端需做如下配置:

  打開控制面板->INTERNET選項->安全性->自定義級別-> 對沒有標記為安全的ActiveX控件進行初始化和腳本運行->開啟 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91九色综合久久| 永久免费精品影视网站| 午夜精品美女自拍福到在线| 538国产精品一区二区免费视频| 久热精品视频在线观看| 91欧美激情另类亚洲| 91精品国产自产91精品| 国产精品视频成人| 亚洲精品久久久久| 亚洲丝袜av一区| 日韩av在线免费观看| 久久99国产精品久久久久久久久| 成人精品久久一区二区三区| 国产亚洲精品va在线观看| 在线观看国产精品91| 精品一区二区三区三区| 97精品视频在线播放| 亚洲综合中文字幕在线观看| 九九综合九九综合| 中文字幕不卡在线视频极品| 亚洲一区二区三区xxx视频| 国产精品电影一区| 亚洲综合自拍一区| 日韩精品一区二区视频| 精品高清美女精品国产区| 欧美日韩国产中文精品字幕自在自线| 亚洲人成网站777色婷婷| 亚洲r级在线观看| 亚洲欧美另类人妖| 国产99在线|中文| 88xx成人精品| 日本免费在线精品| 国产网站欧美日韩免费精品在线观看| 亚洲天堂成人在线| 久久香蕉频线观| 亚洲视频一区二区三区| 午夜精品久久久久久久久久久久| 国产精品免费视频久久久| 国产一级揄自揄精品视频| 精品国偷自产在线视频99| 亚洲第一网站男人都懂| 久久精品中文字幕免费mv| 亚洲综合社区网| 午夜精品一区二区三区在线视频| 最近2019年手机中文字幕| 欧美在线一级视频| 一区二区三区久久精品| 亚洲色图国产精品| 7m第一福利500精品视频| www.亚洲成人| 搡老女人一区二区三区视频tv| 久久久精品美女| 欧美成人精品在线观看| 色在人av网站天堂精品| 国产精品电影网站| 不卡av电影院| 欧美福利小视频| 精品国产美女在线| 国产精品观看在线亚洲人成网| 国产一区二区丝袜| 亚洲国产精品va在看黑人| 亚洲a一级视频| 久久精品中文字幕一区| 成人免费看吃奶视频网站| 国产福利精品在线| 日韩av在线影视| 98精品国产高清在线xxxx天堂| 色综合亚洲精品激情狠狠| 人人做人人澡人人爽欧美| 国内精品模特av私拍在线观看| 91av视频在线观看| 国内精品视频久久| 国产欧亚日韩视频| 国产一区二区美女视频| 亚洲欧洲日产国产网站| 91国自产精品中文字幕亚洲| 亚洲国产成人一区| 久久欧美在线电影| 日韩精品免费观看| 欧美成人精品一区二区三区| 午夜精品久久久久久久99热浪潮| 欧美激情视频在线免费观看 欧美视频免费一| 97香蕉久久夜色精品国产| 亚洲综合大片69999| 久久久精品一区二区| 久久精品久久久久久国产 免费| 国产日韩欧美电影在线观看| 国产不卡视频在线| 久久福利视频网| 成人免费看吃奶视频网站| 欧美激情一级二级| 欧美夫妻性生活视频| 久久久成人精品视频| 91久久国产综合久久91精品网站| 亚洲精品国产精品自产a区红杏吧| 2019亚洲日韩新视频| 91色中文字幕| 777精品视频| 伊人亚洲福利一区二区三区| 久久影院免费观看| 日韩精品高清在线观看| 日韩av日韩在线观看| 国产成人一区二区在线| 欧美丝袜美女中出在线| 欧美午夜视频一区二区| 97香蕉久久超级碰碰高清版| 日韩高清av一区二区三区| 欧美精品一区二区三区国产精品| 精品国产一区二区在线| 亚洲精品www久久久| 国产美女久久久| 国产精品成熟老女人| 欧美成人午夜视频| 97超碰色婷婷| 欧美日韩国产一区中文午夜| 日本欧美黄网站| 中文字幕在线观看亚洲| x99av成人免费| 亚洲最新视频在线| 中文字幕欧美亚洲| 国产美女高潮久久白浆| 奇米四色中文综合久久| 日韩精品免费视频| 亚洲欧洲黄色网| 日韩欧美aⅴ综合网站发布| 国产成人精品视频在线| 久久久精品一区二区三区| 欧洲成人免费视频| 亚洲另类xxxx| 亚洲人成在线一二| 国自产精品手机在线观看视频| 97精品国产97久久久久久春色| 成人黄色免费网站在线观看| 中文字幕日韩精品在线观看| 久久久久久尹人网香蕉| 精品无人区太爽高潮在线播放| 黄色一区二区在线| 国产一区二区三区丝袜| 91po在线观看91精品国产性色| 国产男女猛烈无遮挡91| 欧美福利在线观看| 久久久女人电视剧免费播放下载| 亚洲香蕉成人av网站在线观看| 日韩中文在线中文网三级| 亚洲经典中文字幕| 国产亚洲欧洲高清一区| 欧美天天综合色影久久精品| 国产精品久久久久久久9999| 国产一区二区三区日韩欧美| 亚洲国产欧美日韩精品| 亚洲最大的网站| 亚洲大胆美女视频| 欧美亚洲日本黄色| 日韩动漫免费观看电视剧高清| 亚洲免费福利视频| 97超碰蝌蚪网人人做人人爽| 欧美精品制服第一页| 国产精品久久在线观看| 成人av.网址在线网站| 日韩在线国产精品| 久久视频在线看| 日韩精品免费一线在线观看| 成人亲热视频网站| 日韩精品在线视频观看|