ASP对Excel的基本操作之查询数据
Execl97/2000/xp是MS Office办公软件的成员之一。在企业级应用当中,我们往往需要对Execl进行操作,如读取Execl里面的数据、往Execl里插入数据等。 一、操作Execl要注意的事项: 1、 服务器端Office的配置 以MS Windows2000+IIS为例,要在服务器端安装有MS Office的成员之一Execl,Office的版本没有特殊要求。 2、 服务器端分布式COM的配置 执行“ DCOMCNFG”命令,选择“应用程序”页的“Microsoft Execl 应用程序”—>“属性”—>“安全性”—>三个选项都选“使用自定义访问权限”,添加“Everyone”权限。 二、首先,先将利用ASP读取Execl的数据(不建立DSN): 我们可以整个.xsl文件看作是一个数据库,sheet1、sheet2等分别看成一个独立的表,把A1、B1、C1、…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)
2、查询并显示表Sheet1内容的代码 <% 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、运行结果 |
|