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

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 20:14:36
字體:
來源:轉載
供稿:網友
  在進行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控件進行初始化和腳本運行->開啟


 

 

  作者姓名:游大軍

  聯系地址:遼寧省凌源鋼鐵集團有限責任公司生產安全部

  郵編:122504

  email地址:ydj1922@sohu.com

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩国精品美女www爽爽爽视频| 亚洲性线免费观看视频成熟| 精品视频在线播放免| 成人激情视频在线播放| 日韩精品一二三四区| 国产精品一区二区三区毛片淫片| 中文字幕亚洲专区| 全色精品综合影院| 国产一区欧美二区三区| 国产精品成人av在线| 日韩国产精品视频| 亚洲欧美日韩综合| 亚洲精品一区av在线播放| 韩日欧美一区二区| 中文字幕精品一区二区精品| 国产视频精品一区二区三区| 91高清视频免费观看| 中文字幕国产日韩| 国产精品第100页| 国外视频精品毛片| 日韩精品小视频| 精品网站999www| 亚洲精品资源在线| 伊人久久大香线蕉av一区二区| 91亚洲精品久久久久久久久久久久| 羞羞色国产精品| 懂色av一区二区三区| 一区二区三区视频免费在线观看| 欧美在线性爱视频| 国产精品久久久久久久久久三级| 久久久久久久久久久91| 成人欧美一区二区三区在线| 久久在线免费视频| 国产精品9999| 亚洲精品国产精品国产自| 日韩av在线免费看| 欧美视频免费在线| 欧美精品日韩www.p站| 久久夜色精品国产亚洲aⅴ| 91视频88av| 中文字幕av一区| www.99久久热国产日韩欧美.com| 国产精品久久久久aaaa九色| 国产精品一区久久久| 狠狠躁夜夜躁人人爽天天天天97| 日韩欧美国产高清91| 国产va免费精品高清在线观看| 国产欧美一区二区白浆黑人| 欧美乱妇40p| 九色精品免费永久在线| 日韩毛片中文字幕| 亚洲成人av片在线观看| 日韩性xxxx爱| 亚洲精品免费av| 亚洲免费视频观看| 色综合天天狠天天透天天伊人| 成人乱色短篇合集| 中文字幕亚洲专区| 韩国三级日本三级少妇99| 国产97在线|亚洲| 国产在线视频欧美| 色伦专区97中文字幕| 国产精品人成电影在线观看| 国产亚洲精品美女| 中文字幕精品一区二区精品| 亚洲福利视频专区| 69av在线视频| 日韩视频第一页| 亚洲综合最新在线| 国产精品嫩草影院一区二区| 欧美成人免费全部| 午夜伦理精品一区| 91成人在线视频| 国产日韩中文字幕在线| 欧美贵妇videos办公室| 国产在线播放91| 欧美午夜激情小视频| 久久久成人的性感天堂| 欧美成人全部免费| 精品国产一区二区三区久久| 成人国内精品久久久久一区| 亚洲精品福利免费在线观看| 久久亚洲国产精品成人av秋霞| 福利视频一区二区| 欧美中文在线观看国产| 亚洲深夜福利在线| 亚洲国产精品系列| 日韩最新在线视频| 国产精品国产福利国产秒拍| 亚洲综合色激情五月| 欧美视频二区36p| 色综合老司机第九色激情| 精品久久久久久久久国产字幕| 久久777国产线看观看精品| 欧美伊久线香蕉线新在线| 欧美日韩国产精品| 中文字幕综合在线| 中文一区二区视频| 久久久在线观看| 欧美黑人国产人伦爽爽爽| 国产精品视频免费观看www| 国产精品第七十二页| 国产ts人妖一区二区三区| 精品久久久久久久久久国产| 成人黄色短视频在线观看| 上原亚衣av一区二区三区| 日本19禁啪啪免费观看www| 久久成人av网站| 福利一区福利二区微拍刺激| 国产精品久久久久不卡| 欧美视频专区一二在线观看| 美日韩丰满少妇在线观看| 国产精品福利无圣光在线一区| 亚洲专区中文字幕| 久久九九国产精品怡红院| 欧美性猛交xxxx乱大交| 亚洲理论在线a中文字幕| 亚洲免费一级电影| 久久香蕉精品香蕉| 国产成人亚洲综合91精品| 91视频国产高清| 日韩少妇与小伙激情| 欧美日韩中文字幕| 精品久久久久久久久久久久| 亚洲高清av在线| 亚洲www在线| 欧美精品一区二区三区国产精品| 亚洲天堂av电影| 亚洲加勒比久久88色综合| 人人做人人澡人人爽欧美| 91日韩在线视频| 日本免费在线精品| 91高清视频免费观看| 日韩成人xxxx| 欧美日韩高清在线观看| 久久久电影免费观看完整版| 欧美亚洲第一区| 亚洲女人天堂网| 日韩欧美有码在线| 亚洲一区二区中文字幕| 亚洲sss综合天堂久久| 亚洲新声在线观看| 久久久久日韩精品久久久男男| 亚洲资源在线看| 2019精品视频| 日韩欧美中文字幕在线观看| 国产91成人video| 亚洲精品国产综合久久| 国产一区二区三区18| 国产精品91久久| 亚洲xxxx妇黄裸体| 日韩福利伦理影院免费| 国产成人精品免高潮在线观看| 自拍偷拍免费精品| 精品国偷自产在线| 亚洲女在线观看| 91系列在线观看| 最近2019年中文视频免费在线观看| 欧美猛交ⅹxxx乱大交视频| 国产精彩精品视频| 在线播放国产一区二区三区| 欧美日韩国产va另类| 日韩精品久久久久久福利| 97人人爽人人喊人人模波多|