쇼핑몰 프로젝트를 하면서 정산관련 처리를 하다가 정산내용을 웹페이지로 보여주고,
엑셀로도 다운로드 할수 있는 기능이 필요해서 만들어봤습니다.
우선 정산내용을 웹페이지에서 확인할수 있는 URL은
PrintPage.aspx?selectMonth=200501 입니다.
그리고 엑셀다운로드 버튼을 클릭했을때 위 페이지에서 보여지는 내용을
그대로 다운로드하는 내용은 다음과 같습니다.
private void btn_Excel_ServerClick(object sender, System.EventArgs e)
{
// 현재 디렉터리에서 서버에 있는 aspx 페이지 "PrintPage.aspx?selectMonth=200501"를 실행하고 StringWriter 개체 sWriter를 통해 해당 페이지로부터 출력을 받습니다.
string PageUrl = PrintPage.aspx?selectMonth=200501";
System.IO.StringWriter sWriter = new System.IO.StringWriter();
Server.Execute(PageUrl, sWriter);
//aspx페이지에서 실행된 페이지의 출력내용을 파일로 무조건 다운로드 시키기 위해
//HTTP MIME 형식과 헤더를 변경합니다.
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss")+".xls";
Response.ContentType = "application/unknown";
Response.AddHeader("Content-Disposition","attachment;fileName="+fileName);
//sWriter 로부터 받은 HTML 스트림을 HTTP 출력 스트림에 씁니다.
Response.Write(sWriter.ToString());
Response.End();
}
'.net' 카테고리의 다른 글
DataSet 엑셀로 다운로드하기 (0) | 2007.05.03 |
---|---|
잠재적 위험이 있는 Request.Form 값을 발견했습니다 (1) | 2007.05.03 |
현재페이지의 쿼리문자열 한꺼번에 가져오기 (0) | 2007.05.03 |
Web.config 에서 지정한 값 가져오기 (1) | 2007.05.03 |
객체를 다른 페이지로 넘기기 (1) | 2007.05.03 |