asp实现excel中的数据导入数据库

ASP教程 2025-08-05

本文给大家汇总介绍了使用asp实现将Excel中数据导入到数据库中的方法,需要的朋友可以参考一下

asp实现excel中的数据导入数据库

  1. <%Response.CodePage=65001%>
  2. <%Response.Charset=UTF-8%>
  3. <%
  4. wenjian=request.Form(select)
  5. '获取文件扩展名
  6. ext=FileExec(wenjian)
  7. '判断文件扩展名
  8. ifext<>xlsthen
  9. response.Write()
  10. response.End()
  11. endif
  12. DimobjConn,objRS
  13. DimstrConn,strSql
  14. setobjConn=Server.CreateObject(ADODB.Connection)
  15. setobjRS=Server.CreateObject(ADODB.Recordset)
  16. excelFile=server.mappath(wenjian)
  17. '针对excel2007
  18. strConn=Provider=Microsoft.ACE.OLEDB.12.0;DataSource=&excelFile&;&ExtendedProperties=Excel8.0;
  19. objConn.OpenstrConn
  20. strSql=SELECT*FROM[Sheet1$]
  21. objRS.OpenstrSql,objConn,1,1
  22. objRS.MoveFirst
  23. %><%
  24. '循环excel中所有记录
  25. whilenotobjRS.eof
  26. setrs=Server.CreateObject(Adodb.Recordset)
  27. '查询语句
  28. sql_s=select*fromceshiwherelname='&objRS(0)&'andold='&objRS(1)&'andsex='&objRS(2)&'andguojia='&objRS(3)&'andQQ='&objRS(4)&'
  29. rs.opensql_s,conn,1,1
  30. '重复的数据不做录入操作
  31. ifrs.eofthen
  32. '插入语句
  33. '****excel中第一条不会被录入****
  34. sql=insertintoceshi(lname,old,sex,guojia,QQ)values('&objRS(0)&','&objRS(1)&','&objRS(2)&','&objRS(3)&','&objRS(4)&')
  35. '执行插入
  36. conn.execute(sql)
  37. endif
  38. objRS.MoveNext
  39. rs.close
  40. setrs=nothing
  41. wend
  42. '又到了各种关闭的时候
  43. conn.close
  44. setconn=nothing
  45. objRS.Close
  46. objConn.Close
  47. setobjRS=Nothing
  48. setobjConn=Nothing
  49. response.Write()
  50. response.End()
  51. FunctionFileExec(fileName)
  52. FileExec=Mid(fileName,Instr(fileName,.)+1,Len(fileName)-Instr(fileName,.))
  53. EndFunction
  54. %>

再分享一个简化版的代码

  1. wenjian=request.Form(floor)
  2. fileext=mid(wenjian,InStrRev(wenjian,.)+1)
  3. iflcase(fileext)<>xlsthen
  4. response.write
  5. response.end
  6. endif
  7. setconne=server.CreateObject(ADODB.Connection)
  8. connStre=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(&wenjian&)&;ExtendedProperties='Excel8.0;HDR=YES;IMEX=1';
  9. conne.openconnStre
  10. Sqle=select*from[sheet1$]
  11. Setrse=Server.CreateObject(ADODB.Recordset)
  12. rse.opensqle,conne,1,1
  13. '验证
  14. hang=2
  15. dowhilenotrse.eof
  16. '名称不能为空
  17. iftrim(rse(0))<>then
  18. else
  19. mess=第&hang&行名称为空,请检查!
  20. response.Write
  21. response.End()
  22. endif
  23. rse.movenext
  24. hang=hang+1
  25. loop
  26. rse.movefirst
  27. dowhilenotrse.eof
  28. setrst=server.CreateObject(adodb.recordset)
  29. sqlt=select*fromSellman
  30. rst.opensqlt,conn,1,3
  31. rst.addnew()
  32. rst(CompanyName)=c2(rse(0))
  33. rst(CompanyInfo)=c2(rse(1))
  34. rst(address)=c2(rse(2))
  35. rst(tel)=c2(rse(3))&&c2(rse(7))
  36. rst(Fax)=c2(rse(4))
  37. rst(linkman)=c2(rse(5))
  38. rst(Homepage)=c2(rse(8))
  39. rst(Email)=c2(rse(6))
  40. rst.update()
  41. rst.close
  42. setrst=nothing
  43. rse.movenext
  44. loop
  45. rse.close
  46. setrse=nothing
  47. response.Write

其实简单的说象access 数据库一样,把excel文件打开,再进行读再写到access中你要写到sqlserver中就把写的过程改一下就成了

看下代码:

  1. dimconn
  2. dimconn2
  3. setconn=CreateObject(ADODB.Connection)
  4. conn.OpenProvider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:DatabasePassword=;DataSource=c:/book1.mdb
  5. setconn2=CreateObject(ADODB.Connection)
  6. conn2.OpenProvider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:DatabasePassword=;Extendedproperties=Excel5.0;DataSource=c:/book1.xls
  7. sql=SELECT*FROM[Sheet1$]
  8. setrs=conn2.execute(sql)
  9. whilenotrs.eof
  10. sql=insertintoxxx([a],[b],[c],[d])values('&fixsql(rs(0))&','&fixsql(rs(1))&','&fixsql(rs(2))&','&fixsql(rs(3))&')
  11. conn.execute(sql)
  12. rs.movenext
  13. wend
  14. conn.close
  15. setconn=nothing
  16. conn2.close
  17. setconn2=nothing
  18. functionfixsql(str)
  19. dimnewstr
  20. newstr=str
  21. ifisnull(newstr)then
  22. newstr=
  23. else
  24. newstr=replace(newstr,','')
  25. endif
  26. fixsql=newstr
  27. endfunction