如何将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>"

ASP.NET中将Excel表中的数据导入到数据库中的方法是利用可视化界面工具直接选择字段映射导入。

1)接受数据导入的表已经存在。

insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,

'Excel 5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)

2)导入数据并生成表。

select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',

'Excel 5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)

3) 导入Excel中指定的列到数据库表中指定的列。

INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET'MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)

需要注意的地方。

1)外围应用配置器的设置。

从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。

2)关闭Excel表。

如果在导入时要导入的Excel表格处于打开状态,会提示:

“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”

3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。

下面是读取一个EXCEL文件并将其写入数据库的代码实例,亲测通过:

注意:EXCEL里面的列名称要和数据库里的字段相同

<%

i=0

Dim cn,oConn,connstr

'打开XLS.

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

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

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

"Extended Properties=Excel 8.0"

cn.Open

'打开MDB.

connstr="DBQ="+server.MapPath("TEST.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 [list$]",cn,1,1

do until rsRead.EOF

'写入数据库.

oConn.Execute("Insert into eer(mc)Values('"&rsRead.Fields("mc") &"')" )

rsRead.MoveNext

i=i+1

loop

response.write("<p align=center>成功导入"&i&"条数据</p><br>")

response.Write("<p align=center><a href=javascript:window.close()>关闭窗口</a></p>")

%>


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

原文地址: https://outofmemory.cn/sjk/9728342.html

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

发表评论

登录后才能评论

评论列表(0条)

保存