Guest User

Guest User

  • Tech Writer
  • 17
  • 7.8k

How to move to new sheet when exporting to excel

Jan 18 2013 3:29 AM
Hi,

I am using the method below to export data tables to excel and its been working great. Its from this article : www.c-sharpcorner.com/UploadFile/1a81c5/export-datatable-to-excel-with-formatting-in-C-Sharp/


What I need to do now, is export on the same excel file, but I have several data tables and I want them to be on different sheets. I hope you guys can help me. Thanks...

private void ExporttoExcel(DataTable table)
HttpContext.Current.Response.Write("<Td>");
{
 HttpContext.Current.Response.Clear();
 HttpContext.Current.Response.ClearContent();
 HttpContext.Current.Response.ClearHeaders();
 HttpContext.Current.Response.Buffer = true;
 HttpContext.Current.Response.ContentType = "application/ms-excel";
 HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
 HttpContext.Current.Response.AddHeader("Content-Disposition","attachment;filename=Reports.xls");
 
 HttpContext.Current.Response.Charset = "utf-8";
 HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250");
 //sets font
 HttpContext.Current.Response.Write("<font style='font-size:10.0pt; font-family:Calibri;'>");
 HttpContext.Current.Response.Write("<BR><BR><BR>");
 HttpContext.Current.Response.Write("<Table border='1' bgColor='#ffffff' borderColor='#000000' cellSpacing='0' cellPadding='0' style='font-size:10.0pt; font-family:Calibri; background:white;'> <TR>");
 int columnscount = GridView_Result.Columns.Count;
 
 for (int j = 0; j < columnscount; j++)
 {
//Makes headers bold
HttpContext.Current.Response.Write("<B>");
HttpContext.Current.Response.Write(GridView_Result.Columns[j].HeaderText.ToString());
 HttpContext.Current.Response.Write("</B>");
 HttpContext.Current.Response.Write("</Td>");
  }
 HttpContext.Current.Response.Write("</TR>");
 foreach (DataRow row in table.Rows)
  {
 HttpContext.Current.Response.Write("<TR>");
 for (int i = 0; i < table.Columns.Count; i++)
  {
 HttpContext.Current.Response.Write("<Td>");
 HttpContext.Current.Response.Write(row[i].ToString());
 HttpContext.Current.Response.Write("</Td>");
  }

 HttpContext.Current.Response.Write("</TR>");
  }
 HttpContext.Current.Response.Write("</Table>");
 HttpContext.Current.Response.Write("</font>");
   HttpContext.Current.Response.Flush();
 HttpContext.Current.Response.End();
  } 

}