Sometimes our clients maybe have such demand it is load the datagrid data(eg.address book) into an excel spreadsheet. There are several ways to accomplish this, However there is a simple, effective way to do this.
Here's the code:
Here's the code:
1public static void DataGridToExcel(DataGrid dgExport,HttpResponse response) 2{ 3 // clean up the response.object 4 response.Clear(); 5 response.Charset = ""; 6 7 // set the response mime type for excel 8 response.ContentType = "application/vnd.ms-excel"; 9 10 // create a string writer 11 System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 12 // create an htmltextwriter which uses the stringwriter 13 HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite); 14 15 // instantiate a datagrid 16 DataGrid dg = new DataGrid(); 17 // just set the input datagrid = to the new dg grid 18 dg = dgExport; 19 20 // I want to make sure there are no annoying gridlines 21 dg.GridLines = GridLines.None; 22 // Make the header text bold 23 dg.HeaderStyle.Font.Bold = true; 24 25 // If needed, here's how to change colors/formatting at the component level 26 // dg.HeaderStyle.ForeColor = System.Drawing.Color.Black 27 // dg.ItemStyle.ForeColor = System.Drawing.Color.Black 28 29 // bind the modified datagrid 30 dg.DataBind(); 31 // tell the datagrid to render itself to our htmltextwriter 32 dg.RenderControl(htmlWrite); 33 34 //output the html 35 response.Write(stringWrite.ToString()); 36 response.End(); 37}