读书人

导出到Excel不导出图片那位大侠能

发布时间: 2013-07-08 14:13:00 作者: rapoo

导出到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加一个自定义的属性之类的,如果不可以的话就没办法了

读书人网 >asp.net

热点推荐