开发者网络 动网主机 支持论坛 邮局 帮助
当前位置:网络学院ASP技术客户端相关 → 如何在ASP中通过ODBC调用Excel中的数据
如何在ASP中通过ODBC调用Excel中的数据
日期:2000年11月4日 作者: 人气:     [ ]
http://www.chinaasp.com/

    在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有
一些不同的地方。下面将介绍如何通过ODBC在ASP中使用Excel的数据。
    在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft ODBC Driver for Excel.
下面给出一个例子来具体说明如何调用的过程:
1。在Excel的电子表格中新建一个叫Range的表单
a)在Excel文件ADOtest.xls中的sheet1里随便输入下面的测试数据:
        column1                column2                       column3
        rr                     this                          15
        bb                     test                          20
        ee                     works                         25
[b]注意事项[/b]:
       如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常
    处理这一行的数据类型,你必须要保证该列的数据类型一致。:
          i.Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
                 The request properties can not be supported by this ODBC Driver.
          ii.Microsoft OLE DB Provider for ODBC Drivers error '80004005'
                 The query is not updateable because it contains no searchable columns to use as a
                 hopeful key.
          iii.Microsoft OLE DB Provider for ODBC Drivers error '80004005'
                 Query based update failed. The row to update could not be found.
b)使用鼠标选中你的数据所在的所有行和列
c)从菜单中选择Insert\Name\Define命令.
d)输入myRange1,然后单击OK退出
[b]注意事项[/b]:
       i)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容
       ii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。
          例如你的行标题名为“F1”
e)新建一个ODBC系统DSN指向这个ADOTest.xls文件:(这个过程我就不详细说了)
[b]注意事项[/b]:
    i)DSN中要选择Access97版本
    ii)在NT中设置好匿名帐号对该电子表格文件相应的访问权限
    iii)如果你的权限设置不正确的话,有可能会得到如下出错信息:
  Microsoft OLE DB Provider for ODBC Drivers error '80004005'
       [Microsoft][ODBC Excel Driver] The Microsoft Jet database engine
       cannot open the file '(unknown)'. It is already opened exclusively
       by another user, or you need permission to view its data.
f)最后一步,就是在ASP中调用这个ODBC,代码如下:
             <%@ LANGUAGE="VBSCRIPT" %>
             <%
               Set objConn = Server.CreateObject("ADODB.Connection")
               objConn.Open "ADOExcel"

               Set objRS = Server.CreateObject("ADODB.Recordset")
               objRS.ActiveConnection = objConn
               objRS.CursorType = 3                    
               objRS.LockType = 2                      
               objRS.Source = "Select * from myRange1"
               objRS.Open
          %>
          <br>
          <%
             Response.Write("Original Data")
             Response.Write("<TABLE><TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
             Next
             Response.Write("</TR>")
             objRS.MoveFirst
             While Not objRS.EOF
                Response.Write("<TR>")
                For X = 0 To objRS.Fields.Count - 1
                   Response.write("<TD>" & objRS.Fields.Item(X).Value)
                Next
                objRS.MoveNext
                Response.Write("</TR>")
             Wend
             Response.Write("</TABLE>")
             objRS.MoveFirst
             objRS.Fields(0).Value = "change"
             objRS.Fields(1).Value = "look"
             objRS.Fields(2).Value = "30"
             objRS.Update
             Response.Write("<br>Data after the update")
             Response.Write("<TABLE><TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
             Next
             Response.Write("</TR>")
             objRS.MoveFirst
             While Not objRS.EOF
                Response.Write("<TR>")
                For X = 0 To objRS.Fields.Count - 1
                   Response.write("<TD>" & objRS.Fields.Item(X).Value)
                Next
                objRS.MoveNext
                Response.Write("</TR>")
             Wend
             Response.Write("</TABLE>")
             objRS.Close
             Set objRS = Nothing
             objConn.Close
             Set objConn = Nothing
          %>

(出处:)

相关文章:
 
·SQL Server 2000 SP4发布
·Sql Server 2005最新CTP简介及截图
·微软发布数据库新测试版 最终版明夏登场
·网络社区论坛即将成为互联网下一热点
·SET NOCOUNT的用法和注意事项
·全正则的检测IP是否合法的函数
·判断一个access数据库中某个表是否存在的方法
·用Asp生成条形码
·数字小写到英文大写的转换
·在不支持FSO的服务器上使用XMLDOM创建HTML文件
相关软件:
 
·拓域会员核心系统 v1.02
·深博贴吧(仿百度)双数据库版 v1.5
·通用草稿自动保存系统SipoAutoSaver v2.0
·BJXSHOP网上开店专家 v6.0 SP1 Build 20060118
·企业网站智能管理系统(TZIMS) v1.5
·bzmtv v1.0 正式版
·宜兴二级域名申请系统SQL版
·Mslove交友系统 v3.0
·亿人通讯录 v3.0
·深博贴吧(仿百度)双数据库版 v1.0
说明:本站部分内容收集于网络,如有侵犯您的权益请来信告知,我们会第一时间进行处理,谢谢
 → 特别推荐
 → 热点TOP10

关于本站 | 诚聘英才 | 业务合作 | 联系我们 | 广告合作 | 收藏本站

海口动网先锋网络科技有限公司版权所有
Copyright ? 2000 - 2003 AspSky.Net
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077