您的位置:首页精文荟萃软件资讯 → asp实现在web中显示电子表格数据(一)显示数据表格的应

asp实现在web中显示电子表格数据(一)显示数据表格的应

时间:2004/10/7 19:07:00来源:本站整理作者:蓝点我要评论(1)


            
             
              
             
            

               
               

            



            在用ASP语言开发的Web数据库应用程序中,ADO (ActiveX Data Objects) 已经成为非常流行的工具,而且对于真正的关系型数据库,比如Oracle、SQL Server,它都不会有局限性。ADO能够存取多种不同的数据格式,MS Excel电子数据表格就是其中之一。

   关于这个应用

   可供下载的例程代码中包括一个ASP文件ReadX1.asp,一个Excel文件TheWorkbook.xls。你也可以另外加入一些电子数据表文件。

   执行ReadXl.asp页面,将显示出可用的电子数据表文件列表。选择好一个文件,并提交表单后,你将会看到:

一个下拉菜单,其中是工作表名称
一个下拉菜单,其中是命名的范围
一个单元格范围输入框
第一个工作表的全部内容
  

   可以选择工作簿文件中的另外一个工作表,或者输入符合Excel格式的单元格范围数值,比如:D20:E21 或者 Sheet3!F12:J22。注意:在ADO和ODBC驱动程序中,要用$符合替换分界符号!。

   实现步骤

   现在对这个应用程序已经有了初步的认识,下面开始讨论ASP代码,看看如何读取电子数据表的数据,如何找到电子数据簿
(workbook)文件中可用的电子数据表(worksheet)和范围,并看看实现文件列表选择的技术。这里假设你已经熟悉了编写HTML表单的技术,所以对此不做详细介绍。

   基本条件

   下面将涉及到ADO对象、方法、属性、收集和常量。在服务器上安装IIS后,ADO就存在了,并且还有相关文档,地址是http://YourServer/IisHelp/ado210.chm (版本2.1),或者http://YourServer/IisHelp/ado/docs/(老版本1.5)。如果需要升级ADO,可以从http://www.microsoft.com/Data/download.htm下载最新版本的MDAC工具包进行安装。

   实现“文件列表选择”使用到了内建的VBScript脚本对象,相关文档可以查看http://YourServer/IisHelp/vbscript/htm/vbstoc.htm,如果想查看最新的文档,请访问http://msdn.microsoft.com/scripting
(版本5)。当然,在服务器端和客户端,你都不需要安装MS Excel。

   读取电子数据表(Worksheet)数据

   通过ADO读取电子数据表与读取数据库表的方法基本是一样的。从下图可以看到,电子数据表的行被称作记录Records,列被称作字段Fields。电子数据表或者单元格的范围可以被看成表Tables,并按照记录集recordsets进行存取。

Spreadsheet Database HTML
< table >
< tr >
< th >NameA< /th >
< th >NameB< /th >
< th >NameC< /th >
< /tr >< tr >
< td >1< /td >
< td >2< /td >
< td >3< /td >
< /tr >< tr >
< td >11< /td >
< td >12< /td >
< td >13< /td >
< /tr >
< /table >

   执行下面的步骤,从数据库表中读取数据并显示:

连接数据库(同样:打开数据簿文件)
读取记录集recordset(同样:读取一定范围的单元格)
循环每一个记录(同样:每一行),经过格式化,显示
   建立ADO连接

   在连接数据库或者打开文件前,需要了解一些信息。其中只要是设置名叫DSN的ODBC驱动,但为每一个数据表都建立这样的ODBC驱动,是非常麻烦的,因为这需要在服务器的控制台上通过“控制面板/ODBC设置”手工完成。

   幸好,ASP提供了替代DSN的其他方法,它可以非常容易地在运行时建立连接。比如,字符串“DRIVER={Microsoft Excel Driver?*.xls)};ReadOnly=1;DBQ=C:dirfile.xls",表示了替代DSN打开文件c:dirfile.xls,因此通过这种方法仅仅需要提供给ASP程序一个文件名即可。执行下面的代码,将从表单中读取文件名,然后转换为全路径,接着生成连接字符串,最后建立并打开这个连接。

vXlFile = Request("XlBook")
vXlFilePath = Server.MapPath(vXlFile) ' assumes file in current directory
vConnString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _
vXlFilePath
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open vConnString
   如果想查看更多的非DSN连接信息,请打开Windows或者NT System目录下的帮助文件Odbcjet.hlp。

   读取记录集

   连接上电子数据簿文件后,读取一定范围的单元格数据就很简单了。尽管不是必须的,但还是建议:用符合“[” 和 “]”包含住单元格的范围定义。只所以这么做,是以防在数据库的操作中产生非法的符合。

vXlRange = Request("XlRange")
Set oRs = oConn.Execute("[" & vXlRange & "]")

   执行上面的语句,将返回记录集对象,其中包括范围内单元格的所有可用信息, 记录集的数值和描述数据的元数据。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本