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

if (FileUpload1.PostedFile != null)

{

string fileName = FileUpload1.PostedFile.FileName

string kzm = System.IO.Path.GetExtension(fileName)

string newName = DateTime.Now.ToString("yyyyMMddHHmmss") + kzm

string filePath = Server.MapPath("~") + "\\Download\\" + newName

FileUpload1.PostedFile.SaveAs(filePath)

OleDbDataAdapter ada=new OleDbDataAdapter("SELECT * FROM [Sheet1$]", "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + filePath + "Extended Properties=Excel 8.0")

DataTable dt = new DataTable()

try

{

ada.Fill(dt)

}

catch (Exception ex)

{

}

希望能解决您的问题。

先导出,再导入

Excel导出函数

<%

Sub ExportToExcel

Response.ContentType = "application/vnd.ms-Excel"

Response.AddHeader "Content-Disposition", "attachmentFilename=Results.xls"

Response.Write "<body>"

Response.Write "<table border=1>"

Call WriteTableData

Response.Write "</table>"

Response.Write "</body>"

Response.Write "</html>"

End Sub

%>

Excel导入数据库

<%

dim FileName

FileName="Excel.xls" '取得文件名,来自项目经理的指定,路径固定在某个虚拟路径中

Dim conn, rs

set conn=CreateObject("ADODB.connection")

conn.Open "Driver={Microsoft Excel Driver (*.xls)}" &_

"DriverId=790" &_

"Dbq=" &Server.mappath(""&FileName&"") &"" &_

"DefaultDir=G:\"

set rs=createobject("ADODB.recordset")

rs.Open "Select * from [Sheet1$]",conn, 2, 2

if rs.eof then

response.write "Excel表中无纪录"

else

set connDB = Server.CreateObject("ADODB.Connection")

DBPath = Server.MapPath("Excel.mdb")

'RESPONSE.WRITE DBpath

connDB.Open "driver={Microsoft Access Driver (*.mdb)}dbq=" &DBPath

Set RsDB = Server.CreateObject("ADODB.Recordset")

SQLDB="Select * from Excel"

RsDB.open SQLDB,connDB,1,3

do while not rs.eof '利用循环读出数据

RsDB.addnew

RsDB("filename")=rs(0)

RsDB("id1")=rs(1)

RsDB("id2")=rs(2)

RsDB("id3")=rs(3)

RsDB("id4")=rs(4)

Rs.update

RsDB.movenext

rs.movenext

loop

'response.redirect FileName

end if

RsDB.movefirst

if RsDB.eof then

response.write "数据库中无记录"

else

do while not RsDB.EOF

response.write RsDB("filename")&" "

response.write RsDB("id1")&" "

response.write RsDB("id2")&" "

response.write RsDB("id3")&" "

response.write RsDB("id4")&" "

response.write "<br>"

RsDB.movenext

loop

end if

rs.close

set rs=nothing

set conn=nothing

%>


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

原文地址:https://54852.com/sjk/6757696.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存