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