엑셀 출력 페이지의 최상단부에 다음 코드를 추가합니다.
 
<%
' 여기서 엑셀 파일명 지정
filename = "test"

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

Response.AddHeader "Content-disposition","attachment;filename=" & filename & ".xls"
%>
 
위 코드 하단부에는 엑셀로 출력하기 원하는 데이터를 테이블 형태로 그려지게 합니다.
테이블 형태라는 것은 말 그대로 <TABLE> 태그를 사용하라는 것입니다.
 
완성된 위 페이지를 웹브라우저로 읽으면 브라우저가 엑셀 파일로 인식하게 됩니다.
 
실무에서 엑셀 출력 버튼을 클릭하면 새창을 띄워서 위 페이지를 출력하거나, 안보이는 IFRAME-x을 미리 준비해뒀다가 그 IFRAME-x에서 위 페이지로 이동하는 방식으로 사용하시면 됩니다.
===================================================================================
페이지 결과를 엑셀파일로 저장하고 싶을때...
페이지 상단에 아래와 같은 코드를 넣으면 됩니다.
 
즉 웹브라우져에게 ContentType 를 엑셀이라고 알려주면 저장하거나 바로 웹브라우져에서 엑셀을 보여주거나
사용자의 설정에 따라 다르게 보여줄겁니다.
 
 Response.Buffer = False
 Response.Expires=0
 
 FileName = "저장될 파일이름" 

 Response.AddHeader "Content-Disposition","attachment;filename=" & server.URLPathEncode(FileName) & ".xls" '한글 인코딩 깨지지 않게 보존
 Response.ContentType = "application/vnd.ms-excel"  '''= 엑셀로 출력
 Response.CacheControl = "public"
 
그외
 
엑셀 : application/vnd.ms-excel
워드 : application/vnd.ms-word
파워포인트 : application/vnd.ms-powerpoint
 
 
덧 : Response.Buffer = False 와 Response.CacheControl = "public" 의 역할은 데이터를 버퍼링 하지 않고
바로 다운로드 창이 떠서 저장하기를 누르면 그때 데이터를 받아오도록 하는 기능입니다.


출처 : http://l2j.co.kr/1205

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

간단한 다운로드 소스  (0) 2014.08.07
asp 에러 노출 코드  (0) 2014.03.05
base64 자바스크립트 암호화, asp 복호화  (2) 2014.03.05

+ Recent posts