demo.asp


<%

Dim cn,oConn,connstr

’打开XLS.

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

cn.Provider = "Microsoft.Jet.OLEDB.4.0 "

cn.ConnectionString = "Data Source=" & Server.MapPath("data.xls") & ";" & _

"Extended Properties=Excel 8.0;"

cn.Open

’打开MDB.

connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

set oConn=server.CreateObject("ADODB.CONNECTION")

oConn.open connstr


’读取数据.

set rsRead=server.CreateObject("ADODB.Recordset")

rsRead.Open "select * from [Sheet1$]",cn,1,1

do until rsRead.EOF

’写入数据库.

oConn.Execute("Insert into users(userid,password)Values(’"& rsRead.Fields("userid")&"’,’" &rsRead.Fields("password") & "’)" )

rsRead.MoveNext

loop

%>



数据库data.mdb


表users

id,uesrid,password


Excel文件data.xls


数据

userid password

wang w521

zhange z254

hong h112



ASP读取EXCEL注事项!

’i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表

’ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容

’iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1”

’iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型,你必须要保证该列的数据类型一致