新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论.NET,C#,ASP,VB技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Dot NET,C#,ASP,VB 』 → 如何在ASP中通过ODBC调用Excel中的数据 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4550 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 如何在ASP中通过ODBC调用Excel中的数据 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     卷积内核 帅哥哟,离线,有人找我吗?
      
      
      威望:8
      头衔:总统
      等级:博士二年级(版主)
      文章:3942
      积分:27590
      门派:XML.ORG.CN
      注册:2004/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卷积内核发送一个短消息 把卷积内核加入好友 查看卷积内核的个人资料 搜索卷积内核在『 Dot NET,C#,ASP,VB 』的所有贴子 访问卷积内核的主页 引用回复这个贴子 回复这个贴子 查看卷积内核的博客楼主
    发贴心情 如何在ASP中通过ODBC调用Excel中的数据

    如何在ASP中通过ODBC调用Excel中的数据

    在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

    注意事项 :

    如果你的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退出

    注意事项 :

    i)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容

    ii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。

    例如你的行标题名为“F1”

    e)新建一个ODBC系统DSN指向这个ADOTest.xls文件:(这个过程我就不详细说了)

    注意事项 :

    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

    %>


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/19 8:05:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Dot NET,C#,ASP,VB 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/29 16:03:26

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    46.875ms