如何将excel数据通过asp导入数据库

如何将excel数据通过asp导入数据库,第1张

将excel数据通过asp导入数据库

参考代码:

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组件,


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6933824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存