This document will show you how to use C# to setup export data from DataGrid.
Steps:
1. You can create a method call ToExcel,the type of parameter is System.Web.UI.Control.
The ToExcel method main function is put a source DataGrid as a object parameter,export content of the DataGrid as a execl file to customer IE client.
2.Put to use Response oject to achieve a dialogue box by IE.
For example following methods and properties:
AppendHeader,ContentEncoding,ContentType.
3.The parameter Control oject is a Control,it include a importment method RenderControl(HtmlTextWriter).
We can use this method to trnasfer content date of the DataGrid to HtmlTextWriter object.
4.Use "Response.Write" to output Data of the DataGrid, and end the Response object.
The "ToExcel" method codes:
private void ToExcel(System.Web.UI.Control DataGridObject)
{
Response.Charset = "GB2312";//download file name maybe include Chinese
Response.AppendHeader("Content-Disposition", "attachment;filename=" +
System.DateTime.Now.ToString("yyyyMMddhhmmss") + "_" +
HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes("DataGrid Content")) + ".xls");//add httpheader for execl download file
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-execl";
DataGridObject.Page.EnableViewState = false;
System.IO.StringWriter ExeclSw= new System.IO.StringWriter();//instance a new StringWriter object
System.Web.UI.HtmlTextWriter ExeclHw = new
HtmlTextWriter(ExeclSw);//instance a new HtmlTextWriter object
DataGridObject.RenderControl(ExeclHw);//put DataGrid content to ExeclHw object
Response.Write(ExeclHw.ToString());//output result to customer ie client
Response.End();
}
-----------------------------------------------------
Yun Yang
Miccrosoft MVP(Visual Developer-.NET )
Email:YunYang#live.com(#->@)
Steps:
1. You can create a method call ToExcel,the type of parameter is System.Web.UI.Control.
The ToExcel method main function is put a source DataGrid as a object parameter,export content of the DataGrid as a execl file to customer IE client.
2.Put to use Response oject to achieve a dialogue box by IE.
For example following methods and properties:
AppendHeader,ContentEncoding,ContentType.
3.The parameter Control oject is a Control,it include a importment method RenderControl(HtmlTextWriter).
We can use this method to trnasfer content date of the DataGrid to HtmlTextWriter object.
4.Use "Response.Write" to output Data of the DataGrid, and end the Response object.
The "ToExcel" method codes:
private void ToExcel(System.Web.UI.Control DataGridObject)
{
Response.Charset = "GB2312";//download file name maybe include Chinese
Response.AppendHeader("Content-Disposition", "attachment;filename=" +
System.DateTime.Now.ToString("yyyyMMddhhmmss") + "_" +
HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes("DataGrid Content")) + ".xls");//add httpheader for execl download file
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-execl";
DataGridObject.Page.EnableViewState = false;
System.IO.StringWriter ExeclSw= new System.IO.StringWriter();//instance a new StringWriter object
System.Web.UI.HtmlTextWriter ExeclHw = new
HtmlTextWriter(ExeclSw);//instance a new HtmlTextWriter object
DataGridObject.RenderControl(ExeclHw);//put DataGrid content to ExeclHw object
Response.Write(ExeclHw.ToString());//output result to customer ie client
Response.End();
}
-----------------------------------------------------
Yun Yang
Miccrosoft MVP(Visual Developer-.NET )
Email:YunYang#live.com(#->@)