我的gridview 有模板列,里面存的是一个<asp:image imageurl='img.aspx'> 想要导出到excel中,
img.aspx显示的是图片。
img.aspx显示的是图片。
解决方案 »
- RequiredFieldValidator控件,怎么指定仅仅一个按钮按下时才验证。
- 关于ASP.NET 2.0中页面用户登录的问题,如何设置才好
- |M| 一个通信录设计时的问题:在线数据绑定的时候如何根据通信录中的类别把记录分别绑定呢? 请高手指点 一直想不出办法
- 急求一句sql 语句(sql2000下),在线等待。。。。。
- 字符串里有html元素的字段比如<img src='1.jpg'> 如何在显示这些字串的时候能自动去嵌入图片?
- web服务问题:用户代码未处理 System.ArgumentException 不支持关键字'source'
- SqlDataSource与三层结构怎么结合
- checkboxlist listitem加了onclick属性,页面刷新后无效
- 求助:.NET 连接数据库
- ASP.NET中如何关闭Excel进程
- 请教一下以下代码为什么找不到cookie文件
- 如何实现以二级域名或独立域名访问会员网店
或打开模板,遍历数据集,赋值给单元格
e.Row.Cells[0].Visible = false;
this.GridView1.Columns[0].Visible = false;
单独的导出图片研究过,可以做出来.
gridview里含有图片要导出的话就相对麻烦不少了.
楼主自己参考下代码可能存在冗余
object missing = Missing.Value;
//定义一个Excel应用程序
ex.ApplicationClass excelObj = new ex.ApplicationClass();
excelObj.DisplayAlerts = false;
excelObj.Visible = false;
ex.Workbooks wbooks = excelObj.Workbooks;
ex.Workbook wbook = wbooks.Open(Server.MapPath("../动态经营统计数据.xls"), missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing);
ex.Sheets sheets = (ex.Sheets)wbook.Worksheets;
ex._Worksheet sheet = (ex._Worksheet)sheets.get_Item(1);
ex.Range exRange = (ex.Range)sheet.get_Range("B2", missing);
exRange.Select();
//声明一个pictures对象,用来存放柱状图
ex.Pictures pics = (ex.Pictures)sheet.Pictures(missing);
//插入图片
pics.Insert(Server.MapPath("Chartlet_chltStat_区企业年度信息统计表_Bar.Jpg"), missing); sheet.Shapes.AddPicture(Server.MapPath("Chartlet_chltStat2_区企业年度信息统计表_Line.Jpg"),
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoCTrue,
50, 400, 570, 368);//504 326
wbook.SaveAs(Server.MapPath("../xls/动态经营统计数据.xls"), missing, missing, missing, missing, missing,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing,
missing);
wbook.Close(false, missing, missing); excelObj.Quit(); ClientScript.RegisterStartupScript(GetType(), "", "window.location.href='../xls/动态经营统计数据.xls';", true);
//必须关闭释放所引用的COM对象,关闭Excel进程,否则会占用服务器资源
ReleaseObj(sheets);
ReleaseObj(wbook);
ReleaseObj(wbooks);
ReleaseObj(excelObj);
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
//BindGv();
string filePath = Server.MapPath("../xls/动态经营统计数据.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.AppendHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("动态经营统计数据", System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "Application/excel";
Response.WriteFile(filePath);
Response.End();
/// <summary>
/// 释放对象
/// </summary>
/// <param name="o"></param>
private void ReleaseObj(object o)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
}
catch { }
finally { o = null; }
}