프로그래밍/ASP

asp 엑셀업로드 및 DB에 넣기

p-a-r-k 2015. 6. 12. 14:32
반응형

엑셀을 올려서 DB에 저장할 일이생겼다.

업로드는 DEXTUPLOAD로 올려서 DB저장페이지로 저장한 엑셀의 이름을 넘겨줌ㅋ


<%@ Language=VBScript CodePage = "65001" %>
<%
'	Option Explicit
	Response.Buffer = True
	Session.codepage = 65001
        Response.CharSet = "utf-8"
<% 
sGetFileName = Request.QueryString("name")
sFileExt = Mid(sGetFileName, InStrRev(sGetFileName, ".")+1)

sUserIp = Request.servervariables("REMOTE_HOST")

Set DbCon                = Server.CreateObject("ADODB.Connection")
Set DbCon2                = Server.CreateObject("ADODB.Connection")

strConnect = "provider=SQLOLEDB;Data Source=주소;Initial Catalog=이름;User Id=아이디;Password=패스워드"
DbCon.Open strConnect

IF sFileExt = "xlsx" THEN
   strConnect2 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=경로; Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"";"
ELSE
   strConnect2 = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=경로; Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"""
END IF

DbCon2.Open strConnect2
sql = "Select * FROM [거래처등록$]"
Set Rs = DbCon2.execute(sql)

Do until Rs.EOF
    sql = "Insert into CUSTOMER_INFO(AGENT_NO, CUSTOMER_CODE, CUSTOMER_NAME, CEO_NAME, TRADE_TYPE, AGEN_BC, ITEM, MEMBER_CODE, TYPE_CODE1, TYPE_CODE2, AREA_CODE1, AREA_CODE2, ZIP_CODE, AREA_NAME, "_
        & "ADDRESS, EMAIL, PHONE, TEL, FAX, COMMENT1, COMMENT2, COMMENT3, DC_PERCENT, BILL_TRANSFER, STAX, VISIT_DAY, DEL_YN, C_AGENT_NO, USR_IP, OLD_CODE) "_
        & "VALUES('"& Rs(0) &"', '"& '코드' &"', '"& Rs(2) &"', '"& Rs(3) &"', '"& Rs(4) &"', '"& Rs(5) &"', '"& Rs(6) &"', '"& Rs(7) &"', '"& Rs(8) &"', '"& Rs(9) &"', '"& Rs(10) &"', "_
        & "'"& Rs(11) &"', '"& Rs(12) &"', '"& Rs(13) &"', '"& Rs(14) &"', '"& Rs(15) &"', '"& Rs(16) &"', '"& Rs(17) &"', '"& Rs(18) &"', '"& Rs(19) &"', '"& Rs(20) &"', '"& Rs(21) &"', "_
        & "'"& Rs(22) &"', '"& Rs(23) &"', '"& Rs(24) &"', '"& Rs(25) &"', '"& Rs(26) &"', '"& Rs(27) &"','"& sUserIp &"', '"& Rs(1) &"')"

    DBCon.Execute(sql)
    Rs.movenext
Loop

Rs.Close
Set Rs                = Nothing
Set DbCon            = Nothing
Set DbCon2            = Nothing

Response.Write ""
%>

엑셀파일이 xls랑 xlsx일경우 연결방식도다르다.

AccessDatabaseEngine을 서버에 깔아야하는데 마이크로홈페이지에서 다운받으면됨

근데 xls(구버전 2003-2007)이 64비트 드라이버가 없어서 아직해결못하는 부분,,


반응형

'프로그래밍 > ASP' 카테고리의 다른 글

asp 이것만 알면 됨  (0) 2016.05.13
asp 파일 확장자 가져오기  (0) 2015.06.12
asp ADO Data Types  (0) 2015.05.08
asp 프로시저 numeric parameter  (0) 2015.04.16
asp File Download/파일다운로드  (0) 2015.04.03