Excel导出及数据格式化处理

        public void ToExcel(System.Web.UI.Control ctl, string FileName)
        {
            HttpContext.Current.Response.Charset = "UTF-8";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName + ".xls");
            ctl.Page.EnableViewState = false;
            System.IO.StringWriter tw = new System.IO.StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            ctl.RenderControl(hw);
            HttpContext.Current.Response.Write(tw.ToString());
            HttpContext.Current.Response.End();
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            //base.VerifyRenderingInServerForm(control);
        }
        protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@");//这里是将要导出到execl里的第一列格式化为字符类型。
                //e.Row.Cells[3].Attributes.Add("style", "vnd.ms-excel.numberformat:¥#,###.00");//这里是格式化为货币类型。
                e.Row.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
                //1) 文本:vnd.ms-excel.numberformat:@
                //2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
                //3) 数字:vnd.ms-excel.numberformat:#,##0.00
                //4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
                //5) 百分比:vnd.ms-excel.numberformat: #0.00%
            }
        }

转载自:http://www.cnblogs.com/panshuiqing/articles/1576735.html

posted @ 2014-08-18 11:10  linyongqin  阅读(154)  评论(0)    收藏  举报