This article summarizes the methods of using Asp to import data from Excel into the database. Friends who need it can refer to it.
Asp implements data import in Excel to database
- <%Response.CodePage=65001%>
- <%Response.Charset=UTF-8%>
- <%
- wenjian=request.Form(select)
- 'Get the file extension
- ext=FileExec(wenjian)
- 'Judge file extension
- ifext<>xlsthen
- response.Write(<script>alert('The file type is incorrect, please verify!');window.location.href='index.html';</script>)
- response.End()
- endif
- DimobjConn,objRS
- DimstrConn, strSql
- setobjConn=Server.CreateObject(ADODB.Connection)
- setobjRS=Server.CreateObject(ADODB.Recordset)
- excelFile=server.mappath(wenjian)
- 'For excel2007
- strConn=Provider=Microsoft.ACE.OLEDB.12.0;DataSource=&excelFile&;&ExtendedProperties=Excel8.0;
- objConn.OpenstrConn
- strSql=SELECT*FROM[Sheet1$]
- objRS.OpenstrSql,objConn,1,1
- objRS.MoveFirst
- %><!--#includefile=conn.asp--><%
- 'Loop all records in excel
- whilenotobjRS.eof
- setrs=Server.CreateObject(Adodb.Recordset)
- 'Query statement
- sql_s=select*fromceshiwhereelname='&objRS(0)&'andold='&objRS(1)&'andsex='&objRS(2)&'andguojia='&objRS(3)&'andQQ='&objRS(4)&''
- rs.opensql_s,conn,1,1
- 'Don't enter the duplicate data
- ifrs.eofthen
- 'Insert statement
- '****The first item in excel will not be entered****
- sql=insertintoceshi(lname,old,sex,guojia,QQ)values('&objRS(0)&','&objRS(1)&','&objRS(2)&','&objRS(3)&','&objRS(3)&','&objRS (4)&')
- 'Execute insertion
- conn.execute(sql)
- endif
- objRS.MoveNext
- rs.close
- setrs=nothing
- wend
- 'It's time to close again
- conn.close
- setconn=nothing
- objRS.Close
- objConn.Close
- setobjRS=Nothing
- setobjConn=Nothing
- response.Write(<script>alert('Import Successfully');window.location.href='index.html';</script>)
- response.End()
- FunctionFileExec(fileName)
- FileExec=Mid(fileName,Instr(fileName,.)+1,Len(fileName)-Instr(fileName,.))
- EndFunction
- %>
Share another simplified version of the code
- wenjian=request.Form(floor)
- fileext=mid(wenjian,InStrRev(wenjian,.)+1)
- iflcase(fileext)<>xlsthen
- response.write<script>alert('The file format is incorrect, please upload the Excel file');window.location.href='updateFloor.asp';</script>
- response.end
- endif
- setconne=server.CreateObject(ADODB.Connection)
- connStre=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(&wenjian&)&;ExtendedProperties='Excel8.0;HDR=YES;IMEX=1';
- conne.openconnStre
- Sqle=select*from[sheet1$]
- Setrse=Server.CreateObject(ADODB.Recordset)
- rse.opensqle,conne,1,1
- 'verify
- hang=2
- dowhilenottrse.eof
- 'The name cannot be empty
- iftrim(rse(0))<>then
- else
- mess=The name of the &hang& line is empty, please check!
- response.Write<script>alert('&mess&').window.location.href='updateFloor.asp'</script>
- response.End()
- endif
- rse.movenext
- hang=hang+1
- loop
- rse.movefirst
- dowhilenottrse.eof
- setrst=server.CreateObject(adodb.recordset)
- sqlt=select*fromSellman
- rst.opensqlt,conn,1,3
- rsst.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))
- rsst.update()
- rsst.close
- setrst=nothing
- rse.movenext
- loop
- rse.close
- settrse=nothing
- response.Write<script>alert('Imported successfully!');location.href='updateFloor.asp';</script>
In fact, simply put it simply like an access database, open the excel file, read and write it to access. If you want to write it to SQL Server, change the writing process and it will be
Look at the code:
- dimconn
- dimconn2
- setconn=CreateObject(ADODB.Connection)
- conn.OpenProvider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:DatabasePassword=;DataSource=c:/book1.mdb
- setconn2=CreateObject(ADODB.Connection)
- conn2.OpenProvider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:DatabasePassword=;Extendedproperties=Excel5.0;DataSource=c:/book1.xls
- sql=SELECT*FROM[Sheet1$]
- setrs=conn2.execute(sql)
- whilenotrs.eof
- sql=insertintoxxx([a],[b],[c],[d])values('&fixsql(rs(0))&','&fixsql(rs(1))&','&fixsql(rs(2 ))&','&fixsql(rs(3))&')
- conn.execute(sql)
- rs.movenext
- wend
- conn.close
- setconn=nothing
- conn2.close
- setconn2=nothing
- functionfixsql(str)
- dimnewstr
- newsstr=str
- ifisnull(newstr)then
- newsstr=
- else
- newsstr=replace(newstr,','')
- endif
- fixsql=newstr
- endfunction