ASP.NET에서 gridview 데이터를 excel 파일로 출력하는 소스이다.



protected void btnExportToExcel_Click(object sender, EventArgs e)
{
    exportToExcel(gvData);
}

private void exportToExcel(GridView gv)
{
    Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition""attachment;filename=MyFiles.xls");
Response.Charset = ""; this.EnableViewState = false; StringWriter writer = new StringWriter(); HtmlTextWriter textWriter = new HtmlTextWriter(writer); gv.RenderControl(textWriter); Response.Write(writer.ToString()); Response.End(); } public override void VerifyRenderingInServerForm(Control control) { //You have to override this method (even with an empty method) //in order for GridView to be nested inside the Form control. //Otherwise you will receive the following error //Control 'gvData' of type 'GridView' must be placed inside a form tag with runat=server. }


마지막 반드시 VerifyRenderingInServerForm을 넣어주어야 한다.

없을 경우 에러 메시지ㅣ..


출처: http://www.geekcamp.us/articles/exporting_gridview_to_excel.aspx

참고: http://blogs.msdn.com/b/erikaehrli/archive/2009/01/30/how-to-export-data-to-excel-from-an-asp-net-application-avoid-the-file-format-differ-prompt.aspx


Posted by 노을지기