仓酷云

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

[学习教程] ASP教程之用ASP创立Microsoft Word 文件(转)

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:44:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。word|创立跟着人们对数据库及静态HTML(DHTML)的使用和对XML的乐趣的增添,以是在贸易网站的数据中利用静态内容变得愈来愈广泛。这里我们就乐成使用了一则最新的技能――用ASP创立Word文件,我想您看后一定会遭到很年夜的启示。
原文出处:http://www.asptoday.com/articles/19990825.htm

  背景

  BuildDoc.asp是一个ASP文件,它读进一个网页表单的输入,并创立一个MicrosoftWord文件作为输入,个中包括依据表单内数据改动发生的一个表格。表单内容不再范围于静态信息。也就是说,表单中所显现的内容大概跟着用户的交互感化而改动。




  
  BuildDoc所满意的贸易需求是:依据发卖职员网页列表变更的纪录,创建表单函件。只要被发卖职员修正过的数据才被发送到Word,在那边这些数据被格局化到表格中。

  BuildDoc读进表单上的一切信息,辨认被改动的行,然后用被改动的行中包括的信息来创立一个MicrosoftWord文件。BuildDoc利用一个模板文件(buildDoc.dot),个中包括地点头和一些事后格局化的文本。然后向文件中写进一个表格,个中的每行都对应与网页表单中被修正过的一行。




  
  怎样做?

  入手下手时,将一切的网页表单域读进吸收网页的隐含表单域中。鄙人面的源代码中,请注重在Body标志中对“onLoad”的挪用。它挪用buildDocVB剧本子程序,向它传送3个参数:页面中表单的内容(一切的隐含域)、Word模板文件的地位、从输出表单中收到的行数。读一切的输出表单域,然后当页面装载后挪用buildDoc子程序。为了冗长起见,这里假定一切变量在利用之前都已被声明:

  buildDoc.asp中装载输出表单域的代码以下:


〈!DOCTYPEHTMLPUBLIC"-//W3C/DTDHTML3.2Final//EN">
〈HEAD>
〈TITLE>BuildDocument〈/TITLE>
〈METAHTTP-EQUIV="Refresh"CONTENT="30;URL=orderForm.asp">
〈/HEAD>
〈%
dotLocation="servernamedirectoryheTemplate.dot"
intRowCount=Request.Form("rowCount")initializearowcounter
%>
〈BODYLanguage="VBScript"onLoad="buildDocdocument.theForm,
〈%=dotLocation%>,intRowCount>
〈FORMNAME="theForm">
〈%
itemCount=0setfieldcountertozero
ForEachIteminRequest.Formcountuptheformfields
itemCount=itemCount+1usingFor..Nextloop
%>
〈INPUTTYPE="hidden"NAME="〈%=Item%>"VALUE="〈%=Request(Item)%>">
〈%Next%>
〈INPUTTYPE="hidden"NAME="numbRows"VALUE="〈%=intRowCount%>">
〈INPUTTYPE="hidden"NAME="fieldCount"VALUE="〈%=itemCount%>">
〈/FORM>
〈/BODY>
〈/HTML>
  用上面例子中的代码来创立一个Word文件工具。请注重在InternetExplorer4+中,要将扫瞄器的平安性设置为Low或Custom,以能使使用程序运转乐成。


〈%
SetobjWordDoc=CreateObject("Word.Document")
ObjWordDoc.Application.Documents.AddtheTemplate,False
ObjWordDoc.Application.Visible=True
%>
  调剂数组的维数使它与网页表单所包括的行数不异。这时候,将Y轴设为4个常量,这是输入文件中所必要的栏数。X轴包括从表单中吸收的行数。

〈%RedimPreservetheArray(4,intTableRows)%>

  如今入手下手反省一切的表单行。在一切输出的网页表单域中轮回,搜集每一个表单域名及其响应的值。逐一反省以决意将其放进哪一个数列元素内,然后将其放进。以下举例代码中的SELECTCASE命令很主要,这决意表单域属于哪一列。为了便利,利用不断定编码的CASE选择。


〈%
ForintCount=0tofrmData.fieldCount.value
strOkay="Y"
strSearch=frmData.elements(intCount).nameloadthefieldname
strValue=frmData.elements(intCount).valueloadthefieldvalue
strPosition=Instr(1,strSearch,"_")getposvalof"_"
intStringLen=strPosition-1
IfintStrLen>0Then
strLeft=Left(strSearch,intStringLen)
strRight=Right(strSearch,(Len(strSearch)-Len(strLeft)-1))
SelectCasestrLeft
Case"SKU"intArrayY=0
Case"description"intArrayY=1
Case"price"intArrayY=2
Case"quantity&</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
爱飞 该用户已被删除
沙发
发表于 2015-1-19 22:23:59 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
变相怪杰 该用户已被删除
板凳
发表于 2015-1-28 13:58:48 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
admin 该用户已被删除
地板
发表于 2015-2-5 21:43:56 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
谁可相欹 该用户已被删除
5#
发表于 2015-2-13 17:45:51 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
再现理想 该用户已被删除
6#
发表于 2015-3-4 01:04:29 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
因胸联盟 该用户已被删除
7#
发表于 2015-3-11 15:04:25 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
柔情似水 该用户已被删除
8#
发表于 2015-3-19 00:45:55 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
深爱那片海 该用户已被删除
9#
发表于 2015-3-26 23:59:13 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-30 00:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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