实例讲解如何用asp将excel数据导入sql server(或Access)中

因为现在在做个项目,客户要求能将Excel里的数据导入到数据库中(sql 2000)(,在网上搜索了很久,都没有详细点的,经过修改后,终于实现了这功能,特发出来供有需要的朋友参考.

将Excel中的数据导入到sql 2000(Access)中,前提是在sql 2000(Access)中的表已经建好。

有两个文件,excel.htm,excelTosql.asp

excel.htm用于建立个表单页面,让用户选择文件来源.代码如下:

以下是excel.htm代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">


无标题文档




  


    
    
  


  


    








excelTosql.asp:用于处理表单提交过来的数据(显示并写入数据库),代码如下:

以下是excelTosql.asp代码片段:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%'sql 连接驱动
dim conn,connstr,time1,time2,mdb
time1=timer

'如果是sql 2000数据库,请用下面 连接驱动
connstr = "Driver={SQL Server};server=(local);uid=sa;pwd=123;database=jmgl2007;"
'如果是Access数据库,请用下面 连接驱动
'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mdb/jmgl2007.mdb)

Set conn = Server.Createobject("ADODB.Connection")
conn.Open connstr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If

sub closedb()
conn.close
set conn=nothing
end sub
  
    dim aa
   aa=request.form("bbb")   '获取传递过来的值

   Dim    StrConnect,cc  
   Dim    objConn  
   Dim    rs  
   Dim    Sql  
   cc=0
   'Excel连接驱动
   aaa="provider=Microsoft.Jet.OLEDB.4.0; Data Source="&aa&";Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
  

    set StrConnect=CreateObject("ADODB.Connection")
StrConnect.Open aaa


   Set    objConn=CreateObject("ADODB.Connection")
  
   objConn.Open    StrConnect  
    
   '注意    表名一定要以下边这种格试    "[表名$]"    书写  
   Set    rs = Server.CreateObject("ADODB.Recordset")    
   Sql="select    *    from    [sheet1$]    "  
   rs.Open    Sql,StrConnect,2,2    
   IF      rs.Eof    And      Rs.Bof    Then  
   response.Write("")  
    
    
   else  
    
    
   Do    While    Not    rs.EOF
   '列出表内信息  
     response.write"excel数据为:
"
     response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&""
response.write"
"
   set    rssql=server.CreateObject("adodb.recordset")
   '插入SQL2000里  
   rssql.Open    "select    *    from    abc",conn,1,3  
   rssql.AddNew  
   if    rs(0)<>""    then  
   rssql(1)=rs(0)  
   end    if  
   if    rs(1)<>""    then  
   rssql(2)=rs(1)  
   end    if  
   if    rs(2)<>""    then  
   rssql(3)=rs(2)  
   end    if  
    
   rssql.Update  
   Rs.MoveNext  
    
   Loop  
   end    if  
   response.Write    "alert('资料导入成功!\n共有"&cc&"条数据导入');history.go(-1)"
  
    
   %>  




上一篇: 利用javascript实现页面跳转的几种方法
下一篇: asp阻止灌水留言的一个方法(随机生成的4位认证码)
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 3830
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 300 字 | UBB代码 开启 | [img]标签 关闭