仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1872|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网站制作之ASP网站近程客户完成EXCEL打印功效

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:24:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。excel|打印   在停止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" 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 & "'"

E</p>  使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。
深爱那片海 该用户已被删除
沙发
发表于 2015-2-16 01:04:07 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
莫相离 该用户已被删除
板凳
发表于 2015-2-18 15:42:47 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
愤怒的大鸟 该用户已被删除
地板
发表于 2015-3-6 08:23:58 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-3-10 12:40:06 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
老尸 该用户已被删除
6#
 楼主| 发表于 2015-3-22 00:09:10 | 只看该作者
那么,ASP.Net有哪些改进呢?
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-27 07:54:20 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
海妖 该用户已被删除
8#
发表于 2015-4-1 12:31:19 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
因胸联盟 该用户已被删除
9#
发表于 2015-4-4 09:19:39 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
谁可相欹 该用户已被删除
10#
发表于 2015-4-7 06:00:10 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
不帅 该用户已被删除
11#
发表于 2015-4-12 06:02:15 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
透明 该用户已被删除
12#
发表于 2015-4-15 03:08:40 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
山那边是海 该用户已被删除
13#
发表于 2015-4-16 08:11:32 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
若天明 该用户已被删除
14#
发表于 2015-4-17 14:59:43 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
小妖女 该用户已被删除
15#
发表于 2015-5-1 01:10:53 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
变相怪杰 该用户已被删除
16#
发表于 2015-5-1 20:09:06 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
admin 该用户已被删除
17#
发表于 2015-5-2 03:57:30 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
18#
发表于 2015-5-7 11:37:40 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
小女巫 该用户已被删除
19#
发表于 2015-6-6 02:29:32 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
分手快乐 该用户已被删除
20#
发表于 2015-6-16 20:10:21 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-1 00:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表