在企业级应用当中,我们往往需要对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)
	
		
			| 
					   StudentID
				 | 
					姓 名
				 | 
					      语 文
				 | 
					      数 学
				 | 
					      物 理
				 | 
					      化 学
				 | 
					      地 理
				 | 
					 
				 | 
		
			| 
					  1 
				 | 
					   李雪青
				 | 
					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内容的代码
	<%
	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
	 
	sql = "insert into [date]([id],[pinpai],[xinghao],[shuo]) values("&fixsql(rs(0))&",'"&fixsql(rs(1))&"','"&fixsql(rs(2))&"',"&fixsql(rs(3))&")" ///////就是这句导入数据操作 
'response.write sql 
'response.end 
conn1.execute(sql)' 若执行导入数据则执行这个SQL
	%>
	  <td><%=rs(i)%></td>
	<%
	next
	%>
	</tr>
	<%
	  rs.MoveNext
	  Loop
	  rs.close
	  set rs=nothing
	  StrConn.close
	  set StrConn=nothing
	%>
	</table></center>
转帖请自觉加入安舟
佛山网站建设 文章转自:(
http://www.anjoweb.com/shownews_547.html)