GridView导出Excel/Word_htmlGridView导出Excel/Word_javascript_02Code

using System;

using System.Collections.Generic;

using System.Text;


using System.IO;

using System.Web;

using System.Web.UI;

using System.Web.Security;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;


namespace GV.Common

{

    public class Tools

    {

        #region 常用js输出

        /*参考:blog.csdn.net/zhoufoxcn/archive/2008/04/21/2312440.aspx

         */


        /// <summary>

        /// 输出简单提示

        /// </summary>

        /// <param name="msg"></param>

        /// <param name="page"></param>

        public static void Alert(string msg, Page page)

        {

            string js = @"<Script language='JavaScript'>alert('" + msg + "');</Script>";

            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))

            {

                page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);

            }

            //page.ClientScript.RegisterStartupScript(page.GetType(), "alert", "alert('" + str + "!');", true);

        }


        #endregion


        #region 输出word,excel


        /// <summary>

        /// 用法:

        /// Tools.Export(GridView1, "application/ms-word", "123.doc");

        /// Tools.Export(GridView1, "application/vnd.ms-excel", "data.xls");

        /// </summary>

        /// <param name="gridView">GridView</param>

        /// <param name="FileType">类型</param>

        /// <param name="FileName">文件名</param>

        public static void Export(GridView gridView, string FileType, string FileName)

        {

            StringBuilder sb = new StringBuilder();

            StringWriter sw = new StringWriter(sb);

            HtmlTextWriter htw = new HtmlTextWriter(sw);


            Page page = new Page();

            HtmlForm form = new HtmlForm();


            gridView.EnableViewState = false;

            page.EnableEventValidation = false;

            page.DesignerInitialize();


            page.Controls.Add(form);

            form.Controls.Add(gridView);

            page.RenderControl(htw);


            HttpContext.Current.Response.Clear();

            HttpContext.Current.Response.Buffer = true;

            HttpContext.Current.Response.ContentType = FileType;

            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName);

            HttpContext.Current.Response.Charset = "UTF-8";

            HttpContext.Current.Response.ContentEncoding = Encoding.Default;

            HttpContext.Current.Response.Write(sb.ToString());

            HttpContext.Current.Response.End();

        }


        #endregion

    }

}