| 网站首页 | | 网站简介 | | 公司新闻 | | 公司业务 | | 技术相关 | | 安全相关 | | 网络文章 | | 网站论坛 | | 典型案例 | | 客户留言 |  
 首页 >> 技术相关 >> ASP技术

Excel表导入到SQL Server中的方法


[日期:2006-1-7 10:34:48] [作者: 管理员] [字体大小:

不用打开EXCEL进程,不过要用到FSO,代码如下:

<%
server.scripttimeout=100000000
sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn)
    '定义
    dim myConnection
    dim strName
    dim rsXsl,rsSql
    dim str_Xsl,str_Sql
    dim myConn_Xsl
    dim cmd
    dim i,j
    dim maxId

    strName=strFileName
    set myConnection=server.createobject("adodb.connection")
    set rsXsl=Server.Createobject("ADODB.Recordset")
    set rsSql=Server.CreateObject("ADODB.Recordset")
    set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection=myConn


 
    myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & ";Extended Properties=Excel 8.0"

'myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application("ASP_Directory") & "chapter05\database\" & strName & ";Extended Properties=Excel 8.0"
   '打开连接
    myConnection.open myConn_Xsl
 
    '打开表
    str_Xsl="select * from ["& strSheetName &"$]"
    rsXsl.open str_Xsl,myConnection,1,1
j=1
    Do While not rsXsl.eof
    '取出最大值
    str_Sql="select Max(id) as maxId from fubiao"
    rsSql.open str_Sql,myConn,1,3
    If Not rsSql.Eof Then
       If not isNull(rsSql("maxId")) Then
          maxId=Clng(rsSql("maxId"))+1
    Else
       maxId=1
    End if
    else
       maxId=1
    End if
    rsSql.close'//关闭对象
'加入数据库
str_Sql="insert into fubiao values("&maxId&",'"&rsXsl(1)&"','"&rsXsl(3)&"','"&rsXsl(4)&"','"&rsXsl(5)&"','"&rsXsl(6)&"','"&rsXsl(7)&"','"&rsXsl(8)&"','"&rsXsl(9)&"','"&rsXsl(10)&"','"&rsXsl(11)&"','"&rsXsl(12)&"','"&rsXsl(13)&"','"&rsXsl(14)&"','"&rsXsl(15)&"','"&rsXsl(16)&"','"&rsXsl(17)&"','"&rsXsl(18)&"','"&rsXsl(19)&"','"&rsXsl(20)&"','"&rsXsl(21)&"','"&rsXsl(22)&"','"&rsXsl(23)&"','"&rsXsl(24)&"','"&rsXsl(25)&"','"&rsXsl(26)&"','"&rsXsl(27)&"')"
    cmd.CommandText=str_Sql
    cmd.Execute()                      
            '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         j=j+1
    rsXsl.movenext
    Loop

    response.write "共导入<font color='red'>" & j-1 & "</font>条记录.<br/>"
    response.write "<a href=javascript:history.back()>确定</a>"
    set rsXsl=nothing
    set rsSql=nothing
    set myconnection=nothing
    set cmd=nothing
end sub

file1="'"&request.form("filename2")&"'"
strtj=mid(request.form("filename2"),instrrev(file1,"\"),(instrrev(file1,".")-instrrev(file1,"\")-1))
if file1="" then
 response.write "请选择您要导入的Excel表!<p></p>" 
%>
<a href=javascript:history.back()>上一页</a>
<%
    response.end
   end if
'respons.write "'"&request.form("filename")&"'"
myconn="DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=qjgsj_data"
dataIntoSqlServer_ceritificate  file1,""&strtj&"",myconn

%>


 

    [阅读次数:159]
 [新闻出处:]
 上一条新闻: SQL一句话筛选语句
 下一条新闻: 用ASP将数据读数导出EXCEL文件的四种方法
相关新闻:
站 内 搜 索
请输入查询的字符串:

 
点 击 排 行
页 面 广 告
 
关于我们 | 联系方式 | 支付方式 | 站点统计
版权所有 DoILike.Com Ltd.,地址:山东省济南市舜耕路22号综合楼101室
电 话:13065088567 联系人:许老师 设计制作:DoILike.COM