📄 如何在asp中通过odbc调用excel中的数据 2.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://www.51base.com/article/view_article.asp?id=48766 -->
<HTML lang=zh-cn><HEAD><TITLE>NB联盟</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type><LINK
href="NB联盟11.files/style.css" rel=stylesheet>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY><!-- start page body -->
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 class=td id=position
width=773>
<TBODY>
<TR>
<TD class=shadow colSpan=2 height=20 width=262> <A
href="http://www.51base.com/"><IMG border=0
src="NB联盟11.files/logo1.gif"></A> </TD>
<TD align=right width=505>
<P align=left></P></TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 id=main width=770>
<TBODY>
<TR>
<TD class=tdlbr vAlign=top>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 id=welcome
style="TABLE-LAYOUT: fixed" width="98%">
<TBODY>
<TR>
<TD style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all"
vAlign=top><FONT color=red><B>文章标题</B></FONT><FONT color=red><B>:
如何在ASP中通过ODBC调用Excel中的数据 </B></FONT>
<HR noShade SIZE=1>
<BR>http://www.chinaasp.com/<BR><BR> 在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有<BR>一些不同的地方。下面将介绍如何通过ODBC在ASP中使用Excel的数据。<BR> 在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft
ODBC Driver for Excel.
<BR>下面给出一个例子来具体说明如何调用的过程:<BR>1。在Excel的电子表格中新建一个叫Range的表单<BR>a)在Excel文件ADOtest.xls中的sheet1里随便输入下面的测试数据:<BR> column1 column2 column3<BR> rr this 15<BR> bb test 20<BR> ee works 25<BR>[b]注意事项[/b]:<BR> 如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常<BR> 处理这一行的数据类型,你必须要保证该列的数据类型一致。:
<BR> i.Microsoft
OLE DB Provider for ODBC Drivers error '80040e21'
<BR> The
request properties can not be supported by this ODBC Driver.
<BR> ii.Microsoft
OLE DB Provider for ODBC Drivers error '80004005'
<BR> The
query is not updateable because it contains no searchable columns to
use as
a<BR> hopeful
key.
<BR> iii.Microsoft
OLE DB Provider for ODBC Drivers error '80004005'
<BR> Query
based update failed. The row to update could not be found.
<BR>b)使用鼠标选中你的数据所在的所有行和列<BR>c)从菜单中选择Insert\Name\Define命令.<BR>d)输入myRange1,然后单击OK退出<BR>[b]注意事项[/b]:<BR> i)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容<BR> ii)Excel中的行标题(即字段名)不能够包含数字.
Excel的驱动在遇到这种问题时就会出错的。<BR> 例如你的行标题名为“F1”<BR>e)新建一个ODBC系统DSN指向这个ADOTest.xls文件:(这个过程我就不详细说了)<BR>[b]注意事项[/b]:<BR> i)DSN中要选择Access97版本<BR> ii)在NT中设置好匿名帐号对该电子表格文件相应的访问权限<BR> iii)如果你的权限设置不正确的话,有可能会得到如下出错信息:<BR> Microsoft
OLE DB Provider for ODBC Drivers error '80004005'
<BR> [Microsoft][ODBC Excel
Driver] The Microsoft Jet database
engine<BR> cannot open the
file '(unknown)'. It is already opened
exclusively<BR> by another
user, or you need permission to view its data.
<BR>f)最后一步,就是在ASP中调用这个ODBC,代码如下:<BR> <%@
LANGUAGE="VBSCRIPT"
%><BR> <%<BR> Set
objConn =
Server.CreateObject("ADODB.Connection")<BR> objConn.Open
"ADOExcel"<BR><BR> Set
objRS =
Server.CreateObject("ADODB.Recordset")<BR> objRS.ActiveConnection
=
objConn<BR> objRS.CursorType
=
3 <BR> objRS.LockType
=
2 <BR> objRS.Source
= "Select * from
myRange1"<BR> objRS.Open<BR> %><BR> <br><BR> <%<BR> Response.Write("Original
Data")<BR> Response.Write("<TABLE><TR>")<BR> For
X = 0 To objRS.Fields.Count -
1<BR> Response.Write("<TD>"
& objRS.Fields.Item(X).Name &
"</TD>")<BR> Next<BR> Response.Write("</TR>")<BR> objRS.MoveFirst<BR> While
Not
objRS.EOF<BR> Response.Write("<TR>")<BR> For
X = 0 To objRS.Fields.Count -
1<BR> Response.write("<TD>"
&
objRS.Fields.Item(X).Value)<BR> Next<BR> objRS.MoveNext<BR> Response.Write("</TR>")<BR> Wend<BR> Response.Write("</TABLE>")<BR> objRS.MoveFirst<BR> objRS.Fields(0).Value
=
"change"<BR> objRS.Fields(1).Value
=
"look"<BR> objRS.Fields(2).Value
=
"30"<BR> objRS.Update<BR> Response.Write("<br>Data
after the
update")<BR> Response.Write("<TABLE><TR>")<BR> For
X = 0 To objRS.Fields.Count -
1<BR> Response.Write("<TD>"
& objRS.Fields.Item(X).Name &
"</TD>")<BR> Next<BR> Response.Write("</TR>")<BR> objRS.MoveFirst<BR> While
Not
objRS.EOF<BR> Response.Write("<TR>")<BR> For
X = 0 To objRS.Fields.Count -
1<BR> Response.write("<TD>"
&
objRS.Fields.Item(X).Value)<BR> Next<BR> objRS.MoveNext<BR> Response.Write("</TR>")<BR> Wend<BR> Response.Write("</TABLE>")<BR> objRS.Close<BR> Set
objRS =
Nothing<BR> objConn.Close<BR> Set
objConn =
Nothing<BR> %><BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center border=0 cellPadding=2 cellSpacing=0 id=footer width=770>
<TBODY>
<TR>
<TD align=middle class=tdt>
<P align=center></P></TD></TR></TBODY></TABLE><BR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -