엑셀 파일 파일 및 디비에 저장하는 코드 입니다..

01 14, 2007 01:56
 

uploadfile.asp

<script language="JavaScript">

function checkit() {

    if (document.excelupform.excelfile.value == "") {

        alert("파일을 선택해 주십시요 !");

    //  document.excelupform.excelfile.focus();

        self.location.class='MIME' href="uploadfile.asp"

        // return false;

    } else {

     excelupform.action="fileuploading.asp";

     excelupform.submit();

    }

}


function filecheck(){

    if(document.excelupform.excelfile.value.length < 1) {

        alert("파일을 선택해 주십시요. ^^");

        document.excelupform.excelfile.focus();

        return false;

    } else{

        checkit();

    }

}

//-->

</script>


<FORM OnKeyPress="javascript:filecheck();" name="excelupform" method="post" encType="multipart/form-data" >

<TABLE border=0 cellPadding=0 cellSpacing=0 width="600" align="center">

   <tr><TD height="40" align="center"><INPUT name="excelfile" type="file"></TD></TR>

  <TR>

    <TD height="40" align="center"><a class='MIME' href="javascript:checkit()"><img src="../../images/bt_send.gif" border="0"></a></TD>

   </TR></TABLE></FORM>    



fileuploading.asp


<%@ Language=VBScript %>

<!-- #include file = "../../lib/dbopen.inc" -->

<!-- #include file="../../lib/certification.inc" -->

<%

        on error resume next

        set uploadform = Server.CreateObject("SiteGalaxyUpload.Form")

   

        Set filesystemobj = Server.CreateObject("Scripting.FileSystemObject")

        attach_file = UploadForm("excelfile").FilePath

        upfilename = Mid(attach_file, InstrRev(attach_file, "\") + 1) ' 파일명을 얻는다.


        strName = Mid(upfilename, 1, Instr(upfilename, ".") - 1) ' 확장자를 제외한 파일명을 얻는다.

        strExt = Mid(upfilename, Instr(upfilename, ".") + 1) '확장자를 얻는다.

       

   

' 엑셀파일을 체크 한다.

    if(strExt="xls") then %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">                

<%  

      ' 랜덤 숫자를 통해서 구분을 한다.

        Randomize

        myvalues = Int((100000000000 * Rnd) + 1)   ' 1에서 100000000000까지 중에서 무작위 값을 발생합니다.                          

       

''''''''''''''각 아이디당 폴더를 생성한다.'''''''''''''''''''''''''''

        folder_ex = "c:\temp\"& CcID

        If (filesystemobj.FolderExists(folder_ex)) Then

    '      response.Write("id folder exist")

        Else

          filesystemobj.CreateFolder(folder_ex)

        End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    onlyTrue = True ' 우선 같은이름의 파일이 존재한다고 가정

    countFileName = 0 ' 파일이 존재할 경우, 이름 뒤에 붙일 숫자를 세팅함.

''''''''''''''''각 폴더에 파일을 저장한다.''''''''''''''''''''''''''''      

     saveDate = Date

     fn = "c:\temp\"&CcID&"\"&strName&saveDate&".xls" ' 저장할 파일의 완전한 이름을 만듦    

     file2dbname= strName&saveDate&".xls"

     response.Write(file2dbname)

    

     uploadform("excelfile").SaveAs(fn)

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

           

''''''''''''''''''''''''''''''''엑셀파일 보기 ''''''''''''''''''''''''

        xlsFile = fn

           

        Set objApp = CreateObject("Excel.Application") '엑셀 객체 생성

        Set objWorkbooks = objApp.Workbooks 'WorkBooks 객체 생성

        Set objWorkbook = objWorkbooks.Open(xlsFile) 'Excel 파일 Open

        Set objWorksheet = objWorkbook.Worksheets(1) 'Worksheet 객체 생성

        Set objRange = objWorksheet.UsedRange '사용된 영역 객체 생성

        aData= objRange.value '사용된 영역의 값들을 2차원배열 aData로 넘김

        %>

        <table cellpadding="0" cellspacing="0" border="1" width="540" align="center">

        <tr><td width="60" align="center">Number</td><Td width="120" align="center">고유한 키값</Td>

        <Td width="120" align="center">이 름</Td><Td width="140" align="center">전화번호</Td><td width="80">날 짜</td></tr>

        <% For i=1 to uBound(aData, 1) ' 배열의 끝까지 행루프 %>

        <tr><td align="center"><%=i%></td>

           <td align="center"><%=myvalues%></td>

            <% For j=1 to uBound(aData, 2) ' 배열의 끝까지 열루프 %>

                <%if j=1 then%>

                <td align="center">

                    <%=aData(i,1)%>

                    <% 'Dim member()

                       'member = aData(i, 1)%>

                                  

                </td>

                <% end if%>            

                <%if j=2 then%>

                <td align="center">

                <%=aData(i,2)%>

                    <% 'Dim phoneNum()

                       'phoneNum = aData(i, 2)%>              

                </td>

                <% end if%>

             <% Next ' 배열의 끝까지 열 루프 끝 %>

             <td><%=saveDate%></td>

        </tr>

             <% Next ' 배열의 끝까지 행 루프 끝 %>

        </table>    

     <%

       

    '   seedkey 및 업로드 날짜를 디비에 저장한다.  

       for i=1 to uBound(aData, 1)

            sql = "INSERT INTO excel2db(SEEDKEY,NAME,PHONE_NUMBER,UPLOAD_DATE,MESSAGE) VALUES "

            sql = sql & "('"&myvalues&"','"&aData(i,1)&"','"&aData(i,2)&"','"&saveDate&"','')"

           dbs.Execute(sql)

       next

    %>  

    <%  

      Set objRange = Nothing

      Set objWorksheet = Nothing

          objWorkbook.Close

      Set objWorkbook = Nothing

      Set objWorkbokks = Nothing

      Set objApp = Nothing

      

    '''''''''''''''''''''''''엑셀파일 보기 끝 ''''''''''''''''''''''''''''''' %>

    <%  else %>


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">                        

       

        <script language="JavaScript">

        <!--

            alert("엑셀 파일만 업로드 가능합니다.")

            self.location.class='MIME' href="uploadfile.asp"

        //-->")

        </script>")


<%  end if      

        set fs = Nothing

        set real_fn = Nothing

        set uploadform = Nothing        

%>

</head>

<body></body>

</html>

http://www.devpia.com/Forum/BoardView.aspx?no=1773&forumname=www_lec

브니 Programs/Web Programs

01 14, 2007 01:56 01 14, 2007 01:56
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다