ASP中EXCEL数据导入到SQLServer2008数据库中

<!--#include file="../Include/conig.asp"-->
<!--#include file="uploadfile.asp"-->
<%
'=========================================
'本程序制作于2012-5-4
'程序代码仅供初学者使用
'使用无组件上传,请自行设置安全性
'由本程序给您带来的任何损失本人不负任何责任
'联系QQ47329193
'www.gaozhen.name
'=========================================
Const MaxFileSize=100000                    '上传文件大小限制
Const SaveUpFilesPath="UploadFile"            '存放上传文件的目录
Const UpFileType="xls|xlsx"                    '允许的上传文件类型
FileUploadPath = "./"
dim upload,file,myformName,SavePath,SaveSecondPath,filename,fileExt,FileExtPath
dim upNum
dim EnableUpload
dim Forumupload
dim ranNum
dim uploadfiletype
dim msg,founderr
Dim xlsConn,rsRead,xlsSql,myConn_Xsl,source,rs1
msg=""
founderr=false
EnableUpload=false
SavePath = FileUploadPath   '存放上传文件的目录
if right(SavePath,1)<>"/" then SavePath=SavePath&"/"        '在目录后加(/)
%>
<%
'Call upload_0()  '使用无组件上传类
'sub upload_0()    '使用无组件上传类
    set upload=new upload_file    '建立上传对象
    for each myformName in upload.file '列出所有上传了的文件
        set file=upload.file(myformName)  '生成一个文件对象
        if file.filesize<10 then
             msg="请先选择你要上传的文件!"
            founderr=true
        end if
        if file.filesize>(MaxFileSize*1024) then
             msg="文件大小超过了限制,最大只能上传" & CStr(MaxFileSize) & "K的文件!"
            founderr=true
        end if

        fileExt=lcase(file.FileExt)
        Forumupload=split(UpFileType,"|")
        for i=0 to ubound(Forumupload)
            EnableUpload=false
            if fileEXT=trim(Forumupload(i)) then
                EnableUpload=true
                exit for
            end if
        next
        if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" or fileEXT="cer" or fileEXT="cdx" then
            EnableUpload=false
        end if
        if EnableUpload=false then
            msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileType
            founderr=true
        end if
        
        strJS="<SCRIPT language=javascript>" & vbcrlf
        if founderr<>true then

            SaveSecondPath=year(now)&"-"&month(now)
            FileExtPath=LCase(fileExt)
            ServePath=server.mappath(SavePath)
            Set fso=server.createobject("scripting.filesystemobject")

            if fso.FolderExists(ServePath) then
                '检查Config.asp中设置的上传目录,无则自动建立
            else
        Set f = fso.CreateFolder(ServePath)
        set f=nothing
            End if
            
            if fso.FolderExists(ServePath &"\"& FileExtPath) then
                '检查上传目录有没有上传文件类型(扩展名)目录,无则自动建立
            else
        Set f = fso.CreateFolder(ServePath &"\"& FileExtPath)
        set f=nothing
            End if


            set fso=nothing

            randomize
            ranNum=int(900*rnd)+100
            SaveFileName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
            filename=SavePath & FileExtPath &"/"& SaveFileName
            file.SaveToFile Server.mappath(FileName)   '保存文件
            filename1= FileExtPath  &"/"& SaveFileName
            filename2 = SaveFileName
            msg="上传文件成功,开始导入数据!"
            FileType=right(fileExt,3)
            select case fileExt
            case "xls"
                content="xls/" & filename2 & ""
            case "xlsx"
                content="xlsx/" & filename2 & ""
             end select
        end if
        set file=nothing
    next
    set upload=nothing
'end sub


'打开XLS.
source=server.mappath("./"&content)
Set xlsConn = server.CreateObject("adodb.connection") 
myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &source& ";Extended Properties=Excel 5.0"
xlsConn.open myConn_Xsl 
Set rsRead = Server.CreateObject("Adodb.RecordSet")
xlsSql = "Select * from [Sheet1$]"

rsRead.open xlsSql,xlsConn,1,1 
'If rsRead.eof Then
'else
i=0
'Do While not rsRead.eof
do until rsRead.EOF 
conn.execute("insert into score(course_id,xsxx_id,pscj,qmcj,zpcj) values('"& rsRead.Fields("课程编号")&"','"& rsRead.Fields("学生编号")&"','"& rsRead.Fields("平时成绩")&"','"& rsRead.Fields("期末成绩")&"','"& rsRead.Fields("总评成绩")&"')" ) 
i=i+1 
rsRead.MoveNext
Loop  
'End If
response.write "<SCRIPT LANGUAGE=JavaScript>alert (' 导入"&i&"条数据成功!');window.location.href='cjpllr.asp';</script>"
rsRead.close
set xlsConn=nothing 
%>
 

 

posted @ 2014-03-10 14:20  闲云清烟  阅读(573)  评论(0)    收藏  举报