如何把Gridview中的图片导出到Excel 如题,急,请给个思路 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary>/// 把Gridview中数据导入到Excel的类/// </summary>public class GridViewToExcel{ public GridViewToExcel() { // // TODO: 在此处添加构造函数逻辑 // } /**//// <summary> /// /// 把Gridview中数据导入到Excel中 /// </summary> /// <param name="gv">需要导出数据的Gridview</param> /// <param name="ds">Gridview的数据源</param> /// <param name="strFileName">默认的导出Excel的文件名</param> /// <param name="bolPart">全部还是部分导出到Excel.部分:true. 全部:false</param> public static void ConvertToExcel(GridView gv, DataSet ds, string strFileName, bool bolPart) { gv.AllowPaging = bolPart;//设置导出数据是全部还是部分 gv.DataSource = ds; gv.DataBind(); for (int i = 0; i < gv.Columns.Count; i++) //设置每个单元格 { gv.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Left; for (int j = 0; j < gv.Rows.Count; j++) { gv.Rows[j].Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@;"); } } System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Charset = "GB2312"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF7;//设置UTF8有时候出乱码 strFileName += ".xls"; HttpContext.Current.Response.ContentType = "application/ms-excel"; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(strFileName));//设置默认文件名 HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); //预防出现控件必须放在具有 runat=server 的窗体标记内的错误 Page page = new Page(); HtmlForm form = new HtmlForm(); gv.EnableViewState = false; page.EnableEventValidation = false; page.DesignerInitialize(); page.Controls.Add(form); form.Controls.Add(gv); page.RenderControl(htw); HttpContext.Current.Response.Write(sw.ToString()); HttpContext.Current.Response.End(); }} 没能解决问题,至少图片得下载下来,然后写入Excel中,可以怎么写呢,请指教。 问题的解决方案已放入个人博客中了,地址:http://blog.csdn.net/Rock870210/archive/2009/09/26/4598173.aspx 2楼可以把GridView中的数据导出excel. 思路:将gridview中的图片导出,保存到文件系统中,可以采取System.Guid.NewGuid().ToString().Substring()生成文件名然后用worksheet.Shapes.AddPicture加入Excel中 求 判断数据库某列时间 与 当前时间的30分以内数量 session问题 session奇怪的时间失效问题! 有什么有人遇到过default.aspx的文件内容被莫明奇妙修改过的问题? 问一个关于css的问题 关于:SqlDataReader? 对于普通单据,值包含一条纪录的,比如一张发票,如何做它的打印功能? 请各位多多帮忙,寻求ERP程序和演示,人多了,分不够再加,解决问题是主要的,谢谢! 关于ASP.net打包的问题! 如何在类里面定义web控件 》》》100分求一个能够运行的,有注释的Neat Upload应用例子 总听网友说,报表、报表,但长这大还没有用过,到底报表是什么,怎样用?
/// 把Gridview中数据导入到Excel的类
/// </summary>
public class GridViewToExcel
{
public GridViewToExcel()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/**//// <summary>
/// /// 把Gridview中数据导入到Excel中
/// </summary>
/// <param name="gv">需要导出数据的Gridview</param>
/// <param name="ds">Gridview的数据源</param>
/// <param name="strFileName">默认的导出Excel的文件名</param>
/// <param name="bolPart">全部还是部分导出到Excel.部分:true. 全部:false</param>
public static void ConvertToExcel(GridView gv, DataSet ds, string strFileName, bool bolPart)
{
gv.AllowPaging = bolPart;//设置导出数据是全部还是部分
gv.DataSource = ds;
gv.DataBind(); for (int i = 0; i < gv.Columns.Count; i++) //设置每个单元格
{
gv.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Left;
for (int j = 0; j < gv.Rows.Count; j++)
{
gv.Rows[j].Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
}
} System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw); HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF7;//设置UTF8有时候出乱码 strFileName += ".xls";
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(strFileName));//设置默认文件名
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); //预防出现控件必须放在具有 runat=server 的窗体标记内的错误
Page page = new Page();
HtmlForm form = new HtmlForm();
gv.EnableViewState = false;
page.EnableEventValidation = false;
page.DesignerInitialize();
page.Controls.Add(form);
form.Controls.Add(gv);
page.RenderControl(htw); HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
}
将gridview中的图片导出,保存到文件系统中,可以采取System.Guid.NewGuid().ToString().Substring()生成文件名
然后用worksheet.Shapes.AddPicture加入Excel中