对 Excel 的基本操作之查询数据 Execl97/2000/xp 是 MS Office 办公软件的成员之一。在企业级应用当中,我们往往需要对 Execl 进行操作,如读取 Exe" name="description" />

用ADO对Excel的数据查询

发表于:2007-05-25来源:作者:点击数: 标签:数据查询Excelado
ASP MI LY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对 Excel 的基本操作之查询数据 Execl97/2000/xp 是 MS Office 办公软件的成员之一。在企业级应用当中,我们往往需要对 Execl 进行操作,如读取 Exe

ASPMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对Excel的基本操作之查询数据

 

Execl97/2000/xpMS Office办公软件的成员之一。在企业级应用当中,我们往往需要对Execl进行操作,如读取Execl里面的数据、往Execl里插入数据等。

一、操作Execl要注意的事项:

1、  服务器Office的配置

MS Windows2000+IIS为例,要在服务器端安装有MS Office的成员之一ExeclOffice的版本没有特殊要求。

2、  服务器端分布式COM的配置

执行“ DCOMCNFG”命令,选择“应用程序”页的“Microsoft Execl 应用程序”—>“属性”—>安全性”—>三个选项都选“使用自定义访问权限”,添加“Everyone”权限。

二、首先,先将利用ASP读取Execl的数据(不建立DSN)

我们可以整个.xsl文件看作是一个数据库sheet1sheet2等分别看成一个独立的表,把A1B1C1…N1看作表的字段。

--建立连接对象实例ExeclConn

Set ExeclConn=Server.CreateObject(“ADODB.Connection”)

--利用Open 方法打开数据库

StrConn="Driver={Microsoft Excel Driver (*.xls)};"&_

"DriverId=790; DBQ="& Server.MapPath("xls文件名")

conn.Open StrConn

--建立数据集对象Rs并查询数据

Set Rs = Server.CreateObject("ADODB.Recordset")

Sql="select * from [Sheet1$]"

rs.Open Sql,conn,2,2

具体例子:

1、建立一个表Sheet1(数据库名为Students

   StudentID

      语

      数

      物

      化

      地

 

 

   李雪青

83

84

76

95

66

 

2

   冯江

87

96

82

100

81

 

3

   吴小霞

76

43

37

60

82

 

4

   邹亚汇

80

77

63

71

63

 

5

   蔡海飞

89

63

92

86

67

 

2、查询并显示表Sheet1内容的代码

clearcase/" target="_blank" >cc4 size=3><%

Dim conn

Dim StrConn

Dim rs

Dim Sql

Set conn=Server.CreateObject("ADODB.Connection")

StrConn="Driver={Microsoft Excel Driver (*.xls)};"&_

"DriverId=790; DBQ="& Server.MapPath("Students.xls")

conn.Open StrConn

Set rs = Server.CreateObject("ADODB.Recordset")

Sql="select * from [Sheet1$]"

rs.Open Sql,conn,2,2

%>

<center>

<table border="1">

<tr>

<%

for i=0 to rs.Fields.Count-1

%>

  <td bgcolor="#0099FF"><%=rs(i).Name%></td>

<%

next

%>

</tr>

<%

do while Not rs.EOF

%>

<tr>

<%

for i=0 to rs.Fields.Count-1

%>

  <td><%=rs(i)%></td>

<%

next

%>

</tr>

<%

  rs.MoveNext

  Loop

  rs.close

  set rs=nothing

  StrConn.close

  set StrConn=nothing

%>

</table></center>

3、运行结果

原文转自:http://www.ltesting.net