|
Export SqlDataReader to Excel using C# |
|
|
|
|
Written by Hari Kishan Charora
|
|
Wednesday, 30 August 2006 |
Use this function to export SqlDataReader to excel. public void ExportToExcel(SqlDataReader rsExport, System.Web.HttpResponse rsWrite) { System.Web.UI.HtmlControls.HtmlTable mainTable = new System.Web.UI.HtmlControls.HtmlTable(); mainTable.Border = 1; System.Web.UI.HtmlControls.HtmlTableRow HeadeRow = new System.Web.UI.HtmlControls.HtmlTableRow(); for (int i=0;i { System.Web.UI.HtmlControls.HtmlTableCell hCell=new System.Web.UI.HtmlControls.HtmlTableCell(); hCell.BgColor = System.Drawing.Color.Lime.Name; hCell.Style.Add("FONT-WEIGHT", "bold"); hCell.InnerHtml=rsExport.GetName(i); HeadeRow.Cells.Add(hCell); } mainTable.Rows.Add(HeadeRow); while (rsExport.Read()) { System.Web.UI.HtmlControls.HtmlTableRow hRow=new System.Web.UI.HtmlControls.HtmlTableRow(); for (int i=0;i { System.Web.UI.HtmlControls.HtmlTableCell hCell=new System.Web.UI.HtmlControls.HtmlTableCell(); if (rsExport.IsDBNull(i)) { hCell.InnerHtml=""; } else { switch (rsExport.GetFieldType(i).Name) { case "String": { hCell.InnerHtml=rsExport.GetString(i); break; } case "Double": { hCell.InnerHtml=rsExport.GetDouble(i).ToString(); break; } case "Int32": { hCell.InnerHtml=rsExport.GetInt32(i).ToString(); break; } case "DateTime": { hCell.InnerHtml=rsExport.GetDateTime(i).ToString(); break; } } } hRow.Cells.Add(hCell); } mainTable.Rows.Add(hRow); } System.IO.StringWriter stringWrite = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite); mainTable.RenderControl(htmlWrite); rsWrite.Buffer= false; rsWrite.AddHeader("Content-Disposition", "attachment; filename=\"USB_Monitor.xls\";"); rsWrite.ContentEncoding = System.Text.Encoding.UTF8; rsWrite.Charset = ""; rsWrite.ContentType = "application/vnd.ms-excel"; rsWrite.Write(stringWrite); rsWrite.Flush(); rsWrite.End(); } } }
|
|
Last Updated ( Tuesday, 06 November 2007 )
|