ASP网站远程客户实现EXCEL打印功能

2016-01-29 17:45 16 1 收藏

ASP网站远程客户实现EXCEL打印功能,ASP网站远程客户实现EXCEL打印功能

【 tulaoshi.com - ASP 】

    在进行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;"

.

来源:https://www.tulaoshi.com/n/20160129/1502778.html

延伸阅读
标签: ASP
  前几日我曾经阅读到一篇技术文章讲述如何使用VBScript中的正则表达式对象来实现论坛里面的UBB功能。VBScript提供的正则表达式对象功能非常强大,但是只有5。5以上的脚本引擎才可以很好的支持正则表达式对象,为了获得版本是 5。5的脚本引擎,你需要单独安装这个脚本引擎,或者安装IE5.5,也就是说对服务器的要求比较苛刻,那就没有其他...
标签: ASP
  应广大好友的提议,本站将会常推出有关程序设计思路的文章。     在ASP中实现OICQ式的发信息功能,实现此功能的方法很多,在此我主要介绍以数组存取信息的方式。     在ASP中定义一个数组变量:APPLICATION(ID,IX)(例:APPLICATION(100,30)),ID表示用户号,可以是100,就是同时可以让100...
标签: ASP
  大家应当注意到了,我们所要用的函数Instr的小秘密就是它的最后一个可选择参数Compare,因为我们的UBB代码需要大小写不敏感的,默认的情况下,函数Instr是要进行二进制匹配的,也就是说是对大小写敏感的,所以记住了,这个 Compare参数的值应当设置成为1才可以满足我们的要求。 Replace 函数 返回字符串,其中指定数目的某子...
标签: ASP
  在编写网上应用程序时,经常碰到需要在线发送邮件的问题,邮件内容是由程序动态决定的,如果你采用的是ASP方式来编写网上应用程序,如何简单、快捷地实现这一功能呢? 笔者在实践中利用ASP的com组件功能,在vb中实现了一个发邮件的小组件,在ASP中只通过轻松调用,就可以实现该功能。所有邮件处理机制都被封装在这个组件中,使...
标签: Web开发
使用说明 1.在要保护的页面顶部加如对AntiRefresh.asp文件的引用如: !--#include virtual="AntiRefresh.asp" -- 2.接着添加调用代码 代码如下: % Const VarNameDateArr="www_domai_net_App_DataArr" '队列名称 Const VarNameIPArr="www_domai_net_App_IPArr" '队列名称 Dim objAntiRefresh Set objAntiRefresh= new AntiRefresh ob...

经验教程

720

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部