HtmlTextWriter 写文件输出下载csv 导出csv文件

            System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            // IO用于导出并返回excel文件
            System.IO.StringWriter strWriter = null;
            System.Web.UI.HtmlTextWriter htmlWriter = null;

            curContext.Response.Clear();
            curContext.Response.Buffer = true;
            curContext.Response.ContentType = "application/vnd.ms-excel";

            curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//指定文件内容部分的编码格式,中文用gb2312

            // curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            curContext.Response.Charset = "UTF8";
            curContext.Response.AppendHeader("content-disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode("test", System.Text.Encoding.UTF8) + ".csv\"");//指定另存的文件名及后缀名

            strWriter = new System.IO.StringWriter();
            htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
            string sb = "123,456,789\n222sdfsa22,忘sdfdsaf记,特fsadsdf#%……\n";//指定文件的内容(拼字符串成csv文件格式)
            htmlWriter.Write(sb);//将字符串写入流
            //dgExport.DataSource = dtData.DefaultView;
            //dgExport.DataBind();
            //// 返回客户端
            //dgExport.RenderControl(htmlWriter);
            curContext.Response.Write(strWriter.ToString());

            curContext.Response.End();


此部分内容从DataExport 导出excel类中筛选出来。执行后可以直接从浏览器中下载,不用保存文件。


你可能感兴趣的:(HtmlTextWriter 写文件输出下载csv 导出csv文件)