快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

如何在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
[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)从菜单中选择InsertNameDefine命令.
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
%>
返回类别: 教程
上一教程: 用EASYMAILOBJECT组件处理EXCHANGE邮件源代码(7)
下一教程: 操作INI文件的COM

您可以阅读与"如何在ASP中通过ODBC调用EXCEL中的数据"相关的教程:
· ASP中将TABLE表中的数据成功导成EXCEL做法
· ASP直接调用EXCEL数据的例子(不用ODBC)
· ASP直接调用EXCEL数据的例子(不用ODBC)
· 如何直接调用EXCEL数据
· 在ASP中如何访问Novell下的数据库 
    微笑服务 优质保证 索取样品