Charora's website  
Home arrow Technical Articles arrow Microsoft.NET arrow C# arrow Export SqlDataReader to Excel using C#
Saturday, 04 September 2010
 
 
Export SqlDataReader to Excel using C# PDF Print E-mail
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();
}
}
}

Comments

Write Comment
  • Please keep the topic of messages relevant to the subject of the article.
  • Personal verbal attacks will be deleted.
  • Please don't use comments to plug your web site. Such material will be removed.
  • Just ensure to *Refresh* your browser for a new security code to be displayed prior to clicking on the 'Send' button.
  • Keep in mind that the above process only applies if you simply entered the wrong security code.
Name:
E-mail
Homepage
Title:
BBCode:Web AddressE-mailBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
Comment:



Code:* Code:

Last Updated ( Tuesday, 06 November 2007 )
 
< Prev
Google
 
Top! Top!