Small example of DataTable data exported as Excel files
////// will DataTable Is exported to the specified Excel In the file////// Web The page object/// Containing the exported data DataTable object/// Excel Name of filepublic static void Export(System.Web.UI.Page page,System.Data.DataTable tab,string FileName){System.Web.HttpResponse httpResponse = page.Response;System.Web.UI.WebControls.DataGrid dataGrid=new System.Web.UI.WebControls.DataGrid();dataGrid.DataSource=tab.DefaultView;dataGrid.AllowPaging = false;dataGrid.HeaderStyle.BackColor = System.Drawing.Color.Green;dataGrid.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;dataGrid.HeaderStyle.Font.Bold = true;dataGrid.DataBind();httpResponse.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8)); //filename="*.xls";httpResponse.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");httpResponse.ContentType ="application/ms-excel";System.IO.StringWriter tw = new System.IO.StringWriter() ;System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);dataGrid.RenderControl(hw);string filePath = page.Server.MapPath("..")+"//Files//" +FileName;System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);sw.Write(tw.ToString());sw.Close();DownFile(httpResponse,FileName,filePath);httpResponse.End();}private static bool DownFile(System.Web.HttpResponse Response,string fileName,string fullPath){try{Response.ContentType = "application/octet-stream";Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8) + ";charset=GB2312");System.IO.FileStream fs= System.IO.File.OpenRead(fullPath);long fLen=fs.Length;int size=102400;// every 100K Download data at the same timebyte[] readData = https://www.ofstack.com/yongle_tianya/archive/2011/10/24/new byte[size];// Specifies the size of the bufferif(size>fLen)size=Convert.ToInt32(fLen);long fPos=0;bool isEnd=false;while (!isEnd){if((fPos+size)>fLen){size=Convert.ToInt32(fLen-fPos);readData = https://www.ofstack.com/yongle_tianya/archive/2011/10/24/new byte[size];isEnd=true;}fs.Read(readData, 0, size);// Read in 1 A compression blockResponse.BinaryWrite(readData);fPos+=size;}fs.Close();System.IO.File.Delete(fullPath);return true;}catch{return false;}}