利用HttpContext 导出数据(word、excel)

来源:互联网 发布:最强搜图软件 编辑:程序博客网 时间:2024/05/14 07:28
 

        #region 导出数据,调用该方法后自动返回可下载的文件流
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="fileContent">文件内容</param>
        /// <param name="fileType">文件类型</param>
        public static void ExportData(StringBuilder fileContent, string fileType)
        {
            // 当前对话
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;

            // 设置编码和附件格式
            switch (fileType)
            {
                case "doc":
                    curContext.Response.ContentType = "application/msword";
                    break;
                case "xls":
                    curContext.Response.ContentType = "application/vnd.ms-excel";
                    break;
                default:
                    curContext.Response.ContentType = "application/msword";
                    break;
            }
            curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            curContext.Response.Charset = "utf-8";

            // IO用于导出并返回文件
            System.IO.StringWriter strWriter = new System.IO.StringWriter(fileContent);

            // 返回客户端
            curContext.Response.Write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />" + strWriter.ToString());
            curContext.Response.End();

        }
        #endregion