ASP.NET datable导出excel

本文转载:http://www.cnblogs.com/chwkai/archive/2005/10/08/250426.html

不错的文章:http://www.cnblogs.com/lzhp/archive/2012/08/02/2680763.html

不错文章:http://hcyu2012.blog.163.com/blog/static/165192580201132532526918/

 public void DataTable2Excel(DataTable dtData)

        {





            if (dtData != null)

            {



                Response.Clear();

                Response.Charset = "utf-8";

                Response.AppendHeader("Content-Disposition", "attachment;filename= " + Server.UrlEncode("导出.xls"));

                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");

                Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件.

                this.EnableViewState = false;

                System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);

                System.IO.StringWriter stringWrite = new System.IO.StringWriter(myCItrad);

                System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);



                //// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid

                //System.Web.UI.WebControls.GridView dgExport = null;

                //dgExport = new System.Web.UI.WebControls.GridView();

                GridView dgExport = new GridView();

                dgExport.AllowPaging = false;

                dgExport.DataSource = dtData;

                dgExport.DataBind();

                for (int i = 1; i < dgExport.Rows.Count; i++)

                {                    

                    dgExport.Rows[i].Cells[0].Attributes.Add("style", "mso-number-format:'0'");

                    dgExport.Rows[i].Cells[2].Attributes.Add("style", "mso-number-format:'\\@'");

                }

                

                dgExport.RenderControl(htmlWrite);

                Response.Write(stringWrite.ToString());

               Response.Write(@"<style> .text { mso-number-format:'\\@';} </script> ");

                Response.End();   



            }

        }



 



 



GridView export to excel 格式参考



mso-number-format:"0" NO Decimals 

mso-number-format:"0\.000" 3 Decimals 

mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec 

mso-number-format:"mm\/dd\/yy" Date7 

mso-number-format:"mmmm\ d\,\ yyyy" Date9 

mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM 

mso-number-format:"Short Date" 01/03/1998 

mso-number-format:"Medium Date" 01-mar-98 

mso-number-format:"d\-mmm\-yyyy" 01-mar-1998 

mso-number-format:"Short Time" 5:16 

mso-number-format:"Medium Time" 5:16 am 

mso-number-format:"Long Time" 5:16:21:00 

mso-number-format:"Percent" Percent - two decimals 

mso-number-format:"0%" Percent - no decimals 

mso-number-format:"0\.E+00" Scientific Notation 

mso-number-format:"\@" Text 

mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943) 

mso-number-format:"\0022?\0022\#\,\#\#0\.00" ?12.76 

mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ " 2 decimals, negative numbers in red and signed

(1.56   -1.56)

  

你可能感兴趣的:(asp.net)