首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

导出到Excel,不导出图片,那位大侠能解决。该如何解决

2013-07-08 
导出到Excel,不导出图片,那位大侠能解决。代码如下:我的Repeater中是有图片的。请问,我导出的时候,怎么把图

导出到Excel,不导出图片,那位大侠能解决。
代码如下:我的Repeater中是有图片的。请问,我导出的时候,怎么把图片给排除掉。


        public static void ToExcel(System.Web.UI.Control ctl, string FileName)
        {
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName + ".xls");
            HttpContext.Current.Response.Charset = "UTF-8";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
            HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 
            ctl.Page.EnableViewState = false;
            System.IO.StringWriter tw = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
            ctl.RenderControl(hw);
            HttpContext.Current.Response.Write(tw.ToString());
            HttpContext.Current.Response.End();
        }

Excel 图片 排除
[解决办法]
Refer this:
remove img tag, then export to excel.

http://www.cnblogs.com/insus/p/3171983.html

[解决办法]
    /// <summary>
        /// 导出Excel
        /// </summary>
        /// <param name="dtData"></param>


        public static void DataTableToExcel(System.Data.DataTable dtData, String fileName)
        {
            System.Web.UI.WebControls.DataGrid datagrid = new System.Web.UI.WebControls.DataGrid();
            datagrid.ID = "excelGrid1";

            datagrid.DataSource = dtData;
            datagrid.DataBind();

            string filename = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(fileName + ".xls"));

            //导出
            System.Web.HttpContext.Current.Response.Clear();
            System.Web.HttpContext.Current.Response.Buffer = true;
            System.Web.HttpContext.Current.Response.Charset = "UTF-8";   //GB2312 
            System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);

            //设置输出流为UTF-8
            System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            //设置输出文件类型为excel文件。 
            System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";

            datagrid.EnableViewState = false;
            System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

            datagrid.RenderControl(oHtmlTextWriter);



            System.Web.HttpContext.Current.Response.Write("<meta http-equiv="content-type" content="application/ms-excel; charset=UTF-8"/>");
            System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString());
            System.Web.HttpContext.Current.Response.End();

        }



你查询的导出方法  不查询图片不就可以了?
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

在Control里面处理行不行?通过加额外的参数让图片暂时不显示



 可以加什么参数?
加一个参数/属性,然后你的Control里面的代码根据这个参数/属性做不同的处理,比如:不显示图片。这样我们在调用RenderControl之前给参数/属性赋值的话,在RenderControl的时候,应该就不显示图片了。


我代码已经丢在最上面了。 你简单的处理一下。我不太明白你的说法。 
我说的方法,需要你可以处理你的Control,比如给Control加一个自定义的属性之类的,如果不可以的话就没办法了

热点排行