2012. 4. 29. 22:53ㆍNOTE/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 |