[ASP]DATA EXCEL로 받기

2012. 4. 29. 22:53NOTE/IT

DATA EXCEL로 받기



ex)


sql=" select * from test_table where name='정민수'"


<a href="/excel.asp?sql=<%=replace(sql,"'","^")%>&db=TESTDB"> EXCEL받기 </a>


참고로 SQL문 전체를 다음 페이지에 전달할때 "   '  +   % " 등 특수문자 는 인식이 잘 되지 않아  replace를 써서 변환 시켜 사용했습니다.


<%


Server.ScriptTimeout = 90000


Response.Buffer = TRUE


Response.ContentType = "application/vnd.ms-excel"


Response.AddHeader "Content-Disposition","attachment;filename=KIS_" & replace(formatdatetime(time,4),":","") & ".xls"




    Set db = Server.CreateObject("ADODB.connection")


    set rs = server.createobject("ADODB.Recordset")




'  db.Open "Provider=SQLOLEDB; Data Source=12.x.x.x; Initial Catalog=xxx; User ID=xxx; Password=xxx"




    dbname=request("db")


    if dbname <> "" then


        db.Open "Driver={SQL Server};Server=12.xxxx;UID=xxxx;PWD=xxxx;Database=" & dbname


    else


        db.Open "Driver={SQL Server};Server=12.xxx;UID=xxx;PWD=xxx;Database=xxx"


    end if




    ' 변환 하기 참고 = ' -> ^ , % -> ~


  sql = replace(replace(request("sql"),"^","'"),"~","%")


    rs.Open Sql,db




'response.write sql




%>


<html>


<head>


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


</head>


<body>


<table border=1>


    <tr>


<%


    for i=0 to (rs.fields.count - 1)


        response.write "<td aling='center' bgcolor='#E3F5E1'>" & rs.fields(i).name & "</td>"


    next


%>


   </tr>


<%


    Do until rs.eof


    response.write "<tr>"


    for each x in rs.Fields


            response.write "<td>" & trim(x.value) & "</td>"


    next


        rs.movenext


    response.write "</tr>"


    Loop


%>


  


</table>


</body>


</html>


<%


  rs.close


  db.close


  set rs=nothing


  set db=nothing




%>


'NOTE > IT' 카테고리의 다른 글

폴더별 용량 확인  (0) 2012.08.18
Windows7 에서 CD를 MP3로 변환하기  (0) 2012.07.01
[JAVA SCRIPT] Layer  (0) 2012.04.29
[JAVA SCRIPT]이미지 슬라이드 종합세트  (0) 2012.04.29
[ORACLE]DB lock걸린 정보 보기  (0) 2012.04.29