티스토리 뷰
protected void btnExcel_Click(object sender, EventArgs e)
{
//다운로드 되도록 헤더 설정
Response.Clear();
string fileName = "Excel.xls";
Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
Response.AddHeader("Expires", "0");
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
//한글 정상 표시되도록
//Response.Charset = "UTF-8";
//Response.ContentEncoding = System.Text.Encoding.Default;
//엑셀에서 자동 숫자변환 안되도록 하는 스타일
string strStyle = @"<style>td {mso-number-format:\@; } </style>";
gvList.RenderControl(htmlWriter);
//엑셀에서 자동 숫자변환 안되도록 스타일 적용
Response.Write(strStyle);
Response.Write(stringWriter.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
밑에 override부분을 안써주면 렌더링시 형식 'GridView'의 컨트롤 'gvMain'은(는) runat=server 구문과 함께 form 태그 내부에 와야 합니다.라는 에러가 나는데 분명히 GridView 는 form 태그 안에 있고 runat=server이라면 렌더링시 컨트롤이 폼안에 있다는것을 다시한번 override해주면 이런 에러는 없어집니다
'프로그래밍 > ASP.NET' 카테고리의 다른 글
GridView에서 안보이는 컬럼값 가져오기 (0) | 2008.05.14 |
---|---|
ASP.NET 인증 (Web.config) (0) | 2008.03.15 |
페이지 실행 순서 (0) | 2008.03.14 |
string.Format 형식 (0) | 2008.03.12 |
ASP.NET 마스터하기 #1 - 프롤로그 (0) | 2008.03.08 |
ASP.NET 마스터하기 #2 - ASP.NET 설치 (0) | 2008.03.08 |
ASP.NET 마스터하기 #3 - ASP.NET의 아키텍처 (0) | 2008.03.08 |
유저 컨트롤에서 페이지의 ViewState 접근... (0) | 2008.03.05 |