ASP缃戠珯杩滅▼瀹㈡埛瀹炵幇EXCEL鎵撳嵃鍔熻兘
鍙戝竷: 2008-7-28 09:42 | 浣滆: 缃戠粶杞浇 | 鏉ユ簮: 缃戠粶杞浇 | 鏌ョ湅: 29娆
锛渉tml锛
锛渉ead锛
锛淢ETA content="text/html; charset=gb2312" http-equiv=Content-Type锛
锛渢itle锛炲鎴风鐢靛瓙琛ㄦ牸鎵撳嵃锛/title锛
锛/head锛
锛渂ody bgColor=skyblue topMargin=5 leftMargin="20" oncontextmenu="return false" rightMargin=0 bottomMargin="0"锛
锛渄iv align="center"锛烇紲center锛
锛渢able border="1" bgcolor="#ffe4b5" style="HEIGHT: 1px; TOP: 0px" bordercolor="#0000ff"锛
锛渢r锛
锛渢d align="middle" bgcolor="#ffffff" bordercolor="#000080"锛
锛渇ont color="#000080" size="3"锛
瀹㈡埛绔數瀛愯〃鏍兼墦鍗
锛/font锛
锛/td锛
锛/tr锛
锛/table锛
锛/div锛
锛渇orm name="myform"锛
锛淒IV align=left锛
锛渋nput type="button" value="Excel Report" name="report" language="vbscript" onclick="fun_excel锛堬級" style="HEIGHT: 32px; WIDTH: 90px"锛
锛/div锛
锛/form锛
锛/body锛
锛/html锛
锛渟cript 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 涓篧EB鏈嶅姟鍣↖P鍦板潃
strcn="provider=ms remote;remote server=http://192.168.0.1;handler=msdfmap.handler;data source=pubsdatabase;" '192.168.0.1 涓篧EB鏈嶅姟鍣↖P鍦板潃
strsql= "getalljobs"
Set rs = df.Query锛坰trCn, strSQL锛
Set xlApp = CreateObject锛"EXCEL.APPLICATION"锛 '娉ㄦ剰涓嶆槸锛歋erver.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锛坈nt,1锛.value = rs锛"job_id"锛
xlSheet1.cells锛坈nt,2锛.value = rs锛"job_desc"锛
xlSheet1.cells锛坈nt,3锛.value = rs锛"max_lvl"锛
xlSheet1.cells锛坈nt,4锛.value = rs锛"min_lvl"锛
rs.movenext
cnt = cint锛坈nt锛 + 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 涓篧EB鏈嶅姟鍣↖P鍦板潃
strcn="provider=ms remote;remote server=http://192.168.0.1;handler=msdfmap.handler;data source=pubsdatabase;" '192.168.0.1 涓篧EB鏈嶅姟鍣↖P鍦板潃
strsql= "getalljobs"
Set rs = df.Query锛坰trCn, 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锛堣嫢鍦╓IN98锛孋锛歕windows\msdfmap.ini锛涜嫢鍦╓IN2000,D:\winnt\msdfmap.ini锛涜嫢鍦╓IN2000 SERVER锛孌锛歕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"
銆銆鎵撳紑娉ㄥ唽琛℉KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\W3SVC\Parameters\ADCLaunch 鑻ユ棤 RDSServer.Datafactory锛岃娣诲姞銆傛湰渚嬩娇鐢≧DS Default Handler璁块棶鏁版嵁搴擄紝鑻ヤ笉閫氳繃RDS Handler璁块棶鏁版嵁搴擄紝淇敼娉ㄥ唽琛℉KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataFactory\ HandlerInfo 灏咹andlerRequired=1 璁剧疆鎴怘andlerRequired =0銆傝娉ㄦ剰锛岃嫢涓嶉氳繃RDS Handler鎴栬嚜瀹氫箟鍟嗕笟瀵硅薄璁块棶鏁版嵁搴擄紝灏嗗鏁版嵁搴撳甫鏉ュ畨鍏ㄩ殣鎮o紝鎵浠ヤ綔鑰呮瀬鍔涙帹鑽愰噰鐢ㄥ彧鑳介氳繃RDS Handler鎴栬嚜瀹氫箟鍟嗕笟瀵硅薄鎵嶈兘璁块棶鏁版嵁搴撶殑鏂瑰紡銆
銆銆涓嬮潰鐢╒B缂栧啓涓涓嚜瀹氫箟鍟嗕笟瀵硅薄锛屼唬鐮佸涓嬶細
'缂栧啓ActiveX DLL锛屽悕绉帮細rsget.dll,鍖呭惈绫籸sreturn锛屾柟娉時eturnrs
Public Function ReturnRs锛坰trDB 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锛坰trSQL, InStr锛坰trSQL, "锛"锛 - 1锛 = "getpubsbyid" Then
If InStr锛坰trSQL, ","锛 锛= 0 Then
Dim str As String
str = Mid锛坰trSQL, InStr锛坰trSQL, "锛"锛 + 2, InStr锛坰trSQL, "锛"锛 - InStr锛坰trSQL, "锛"锛 - 3锛
strSQL = "select * from jobs where job_id='" & str & "'"
Else
Dim strstart, strend As String
strstart = Mid锛坰trSQL, InStr锛坰trSQL, "锛"锛 + 2, InStr锛坰trSQL, ","锛 - InStr锛坰trSQL, "锛"锛 - 3锛
strend = Mid锛坰trSQL, InStr锛坰trSQL, ","锛 + 2, InStr锛坰trSQL, "锛"锛 - InStr锛坰trSQL, ","锛 - 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
銆銆鎶妑sget.dll澶嶅埗鍒癈:\WINDOWS鎴朌:\WINNT,寮濮媆杩愯锛岃緭鍏egsvr32.exe c:\windows\rsget.dll鎴朢egsvr32.exe d:\winnt\rsget.dll锛屾寜纭畾鎸夐挳锛屾敞鍐屾垚WEB鏈嶅姟鍣ㄧ粍浠讹紝骞跺湪娉ㄥ唽琛℉KEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\ Services\W3SVC\Parameters\ADCLaunch銆娣诲姞rsget.rsreturn銆
銆銆鑻ヤ娇鐢ㄨ嚜瀹氫箟鍟嗕笟瀵硅薄锛屼慨鏀逛笂闈㈢殑ASP鏂囦欢浠g爜锛
set rds = CreateObject锛"RDS.DataSpace"锛
Set df = rds.CreateObject锛"RDSServer.DataFactory","http://192.168.0.1"锛 '192.168.0.1 涓篧EB鏈嶅姟鍣↖P鍦板潃
strcn="provider=ms remote;remote server=http://192.168.0.1;handler=msdfmap.handler;data source=pubsdatabase;" '192.168.0.1 涓篧EB鏈嶅姟鍣↖P鍦板潃
strsql= "getalljobs"
Set rs = df.Query锛坰trCn, 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'锛"锛
銆銆鍙﹀鍦ㄦ祻瑙堝櫒绔渶鍋氬涓嬮厤缃細
銆銆鎵撳紑鎺у埗闈㈡澘-锛濱NTERNET閫夐」-锛炲畨鍏ㄦ-锛炶嚜瀹氫箟绾у埆-锛 瀵规病鏈夋爣璁颁负瀹夊叏鐨凙ctiveX鎺т欢杩涜鍒濆鍖栧拰鑴氭湰杩愯-锛炲紑鍚




发表于 2009-1-5 19:48
| 











