如何把Gridview中的图片导出到Excel

Rock870210 2009-09-23 12:09:36
如题,急,请给个思路
...全文
1035 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
EchoRay 2009-09-28
  • 打赏
  • 举报
回复
思路:
将gridview中的图片导出,保存到文件系统中,可以采取System.Guid.NewGuid().ToString().Substring()生成文件名
然后用worksheet.Shapes.AddPicture加入Excel中
xiaoxiangqing 2009-09-27
  • 打赏
  • 举报
回复
2楼可以把GridView中的数据导出excel.
fanbo 2009-09-27
  • 打赏
  • 举报
回复
mark
Rock870210 2009-09-26
  • 打赏
  • 举报
回复
问题的解决方案已放入个人博客中了,地址:http://blog.csdn.net/Rock870210/archive/2009/09/26/4598173.aspx
sayluyun 2009-09-25
  • 打赏
  • 举报
回复
关注··
Rock870210 2009-09-23
  • 打赏
  • 举报
回复
求助。。。。。。。
Rock870210 2009-09-23
  • 打赏
  • 举报
回复
没能解决问题,至少图片得下载下来,然后写入Excel中,可以怎么写呢,请指教。
Rock870210 2009-09-23
  • 打赏
  • 举报
回复
二楼能够解决导出图片问题?
CODE163 2009-09-23
  • 打赏
  • 举报
回复
/// <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();
}
}
Rock870210 2009-09-23
  • 打赏
  • 举报
回复
没有能指点一下的吗?

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧