第一个页面yydr.asp
<form onSubmit="return navTabSearch(this);" action="yddr_save.asp" method="post" name="form1">
<div class="searchBar">
<table class="searchContent">
<tr>
  <td>
  请选择数据库源:<input type="file" name="wenjian" id="wenjian" title="请选择需要导出的EXECL文件">
 </td>
</tr>
                   </table>
         </div>
</form>
第二个页面yydr_save.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%'sql 连接驱动
dim conn,connstr,time1,time2,mdb
time1=timer
'如果是sql 2000数据库,请用下面 连接驱动
connstr="Driver={SQL Server};server=192.168.100.2;uid=exp;pwd=exp;database=exp;"
'如果是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("wenjian")    '获取传递过来的值 
    Dim     StrConnect,cc   
    Dim     objConn   
    Dim     rs   
    Dim     Sql   
    cc=0
    'Excel连接驱动
 'response.Write(aa)
 'response.end
 'string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + Path + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'"; 
 
    aaa="provider=Microsoft.Jet.OLEDB.4.0; Data Source="&aa&";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';"
   'aaa="provider=Microsoft.Jet.OLEDB.4.0; Data Source='D:\demo\demo.xls';Extended Properties=Excel 8.0"
     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,1,1     
    IF       rs.Eof     And       Rs.Bof     Then   
    response.Write("<script language='javascript'>alert     ('没有资料可以导入!');history.go(-1)</script>")   
     else      
    Do     While     Not     rs.EOF 
     '列出表内信息  
      'response.write"excel数据为: <br>"
      'response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&"-"&rs(3)&"-"&rs(4)&""
  'response.write"<br>"
 'response.End()
    set     rssql=server.CreateObject("adodb.recordset")
    '插入SQL2000里   
    rssql.Open     "select     *     from     sxexp_resingle",conn,1,3   
    rssql.AddNew    
    rssql(0)=rs(0)
    rssql(1)=rs(1)
    rssql(2)=rs(2)
    rssql(3)=rs(3)
    rssql(4)=rs(4)
    rssql(5)=rs(5)
    rssql(6)=rs(6)
    rssql(7)=rs(7)
    rssql(8)=rs(8)
    rssql(9)=rs(9)
    rssql(10)=rs(10)
    rssql(11)=rs(11)
    rssql(12)=rs(12)
    rssql(13)=rs(13)
    rssql(14)=rs(14)
    rssql(15)=rs(15)
    rssql(16)=rs(16)
    rssql(17)=rs(17)
    rssql(18)=rs(18)
    rssql(19)=rs(19)
    rssql(20)=rs(20)
    rssql(21)=rs(21) 
    rssql(22)=rs(22)
    rssql(23)=rs(23)
    rssql(24)=rs(24)
    rssql(25)=rs(25)
    rssql(26)=rs(26)
    rssql(27)=rs(27) 
    rssql(28)=rs(28)
    rssql(29)=rs(29)
    rssql(30)=rs(30)
    rssql(31)=rs(31)
    rssql(32)=rs(32) 
    rssql(33)=rs(33) 
    rssql(34)=rs(34)    
    rssql(35)=rs(35)      
    rssql(36)=rs(36)      
    rssql(37)=rs(37)     
    rssql(38)=rs(38)   
    rssql.Update   
    Rs.MoveNext
cc=cc+1      
    'Loop   
    end     if   
    response.Write     "<script language='javascript'>alert('资料导入成功!\n共有"&cc&"条数据导入');history.go(-1)</script>"        
    %>   

解决方案 »

  1.   

    如果web服务器连接的sql 数据库不在同一台机器上的话,那sql是找不到 web 服务器所指 excel 文件的,因为不在同一台机器上.
    如果web 服务器与 sql 服务器在同一台机器上,那web 服务器指定的访问 excel 的路径是web 虚拟路径,要转换成服务器文件系统的真实目录才行,否则, mssql 也找不到相应文件的.
      

  2.   

    导入Excel到数据库,首先要你把本机上的Excel文件上传到服务器,然后才能导入导入到数据库!服务器上面的asp代码是不能访问你本机的Excel文件的