参考代码:
wenjian=request.Form("floor")
fileext=mid(wenjian,InStrRev(wenjian,".")+1)
if lcase(fileext)<>"xls" then
response.write "<script>alert ('文件格式不对,请上传Excel文件')window.location.href='updateFloor.asp'</script>"
response.end
end if
set conne=server.CreateObject("ADODB.Connection")
connStre="Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &Server.MapPath( ""&wenjian&"" )&"Extended Properties='Excel 8.0HDR=YESIMEX=1'"
conne.open connStre
Sqle="select * from [sheet1$] "
Set rse = Server.CreateObject("ADODB.Recordset")
rse.open sqle,conne,1,1
'验证
hang=2
do while not rse.eof
'名称不能为空
if trim(rse(0))<>"" then
else
mess="第"&hang &"行名称为空,请检查!"
response.Write"<script>alert('"&mess &"').window.location.href='updateFloor.asp'</script>"
response.End()
end if
rse.movenext
hang=hang+1
loop
rse.movefirst
do while not rse.eof
set rst=server.CreateObject("adodb.recordset")
sqlt="select * from Sellman"
rst.open sqlt,conn,1,3
rst.addnew()
rst("CompanyName")=c2(rse(0))
rst("CompanyInfo")=c2(rse(1))
rst("address")=c2(rse(2))
rst("tel")=c2(rse(3))&" "&c2(rse(7))
rst("Fax")=c2(rse(4))
rst("linkman")=c2(rse(5))
rst("Homepage")=c2(rse(8))
rst("Email")=c2(rse(6))
rst.update()
rst.close
set rst=nothing
rse.movenext
loop
rse.close
set rse=nothing
response.Write "<script>alert('导入成功!')location.href='updateFloor.asp'</script>"
数据库,就是数据库的仓库能存放数据的地方就能作为数据库
EXCEL可以存放数据,所以他能作为后台的数据库,asp所用的语言是脚本语言,vbscript和javascript语言,两者通过ActiveX对象都可以对Excel中的数据进行访问
//excel的实质是xml标记语言的一种应用,xml就可以存储数据,可以作为一种特殊的数据库
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="
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
12345 67890
'=====================ASP读取EXCEL注事项===========================
'i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表
'ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容
'iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1”
'iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型,你必须要保证该列的数据类型一致
'===========================================================
代码都给全了 完全正确的代码 你还不满足?
有其他问题重新提问吧,
最后说下,
建议你重新安装ADO的驱动,MDAC的2.8版
也许是你没有注册ADO组件,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)