Hi,
we can write this code u get the data from the database tables
DataTable myTable = (DataTable)ViewState[TABLE_KEY];
if (myTable.Rows.Count > 0)
{
StringBuilder sb = new StringBuilder();
sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" bordercolor=\"#CCCCCC\" border=\"1\" style=\"color:Black;background-color:White;border-color:#CCCCCC;border-width:1px;border-style:Solid;font-family:Tahoma;font-size:8pt;height:24px;border-collapse:collapse;\">");
sb.Append(" <tr style=\"color:White;background-color:#005500;font-weight:bold;\">");
sb.Append(" <td align=\"Center\">");
sb.Append(" Sl.No. ");
sb.Append(" </td>");
for (int llngCol = 0; llngCol < myTable.Columns.Count - lintHideColCount; llngCol++)
{
sb.Append(" <td align=\"Center\">");
sb.Append(" " + myTable.Columns[llngCol].ColumnName + "");
sb.Append(" </td>");
}
sb.Append("</tr>");
int i = 1;
foreach (DataRow objDR in myTable.Rows)
{
sb.Append(" <tr class=\"body\"> ");
sb.Append(" <td align=\"right\">");
sb.Append("" + i + "");
sb.Append(" </td> ");
for (int llngCol = 0; llngCol < myTable.Columns.Count - lintHideColCount; llngCol++)
{
switch (myTable.Columns[llngCol].DataType.ToString())
{
case "System.Int32":
sb.Append(" <td align=\"right\">");
sb.Append(" " + objDR[llngCol] + "");
break;
case "System.Double":
sb.Append(" <td align=\"right\">");
sb.Append(" " + objDR[llngCol] + "");
break;
case "System.Decimal":
sb.Append(" <td align=\"right\">");
sb.Append(" " + objDR[llngCol] + "");
break;
case "System.DateTime":
sb.Append(" <td align=\"center\">");
sb.Append(" " + (objDR[llngCol].ToString().Length == 0 ? "" : DateTime.Parse(objDR[llngCol].ToString()).ToString("dd-MMM-yyyy")) + "");
break;
case "System.String":
sb.Append(" <td align=\"left\">");
sb.Append(" " + objDR[llngCol] + "");
break;
default:
sb.Append(" <td align=\"center\">");
sb.Append(" " + objDR[llngCol] + "");
break;
}
sb.Append(" </td>");
}
sb.Append(" </tr>");
i++;
}
sb.Append("</table>");
Response.Clear();
Response.Charset = "";
//Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=Pending.xls");
Response.Write(sb.ToString());
Response.End();
}
else
lblCount.Text = "No Records Found";
Regard's
Sudarshan.C
sudarshan.c
Pravesh Singh, if this helps please login to Mark As Answer. | Alert Moderator