我的gridview 有模板列,里面存的是一个<asp:image imageurl='img.aspx'> 想要导出到excel中,
img.aspx显示的是图片。

解决方案 »

  1.   

    隐藏第一列,再导出,导出后设置隐藏列可见 
    或打开模板,遍历数据集,赋值给单元格 
    e.Row.Cells[0].Visible = false;  
     
    this.GridView1.Columns[0].Visible = false;
      

  2.   

    怎么把二进制流图片导出到excel中并显示出来。
      

  3.   


    单独的导出图片研究过,可以做出来.
    gridview里含有图片要导出的话就相对麻烦不少了.
      

  4.   

    baidu一下,看这个专家的http://blog.csdn.net/lee576/archive/2008/10/14/3073072.aspx图片必须是绝对物理路径,所以可能多一个操作
      

  5.   

    以前北大青鸟实训 的时候做的gridview生成柱状图然后导出excel的.
    楼主自己参考下代码可能存在冗余
      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();
      

  6.   


      /// <summary>
        /// 释放对象
        /// </summary>
        /// <param name="o"></param>
        private void ReleaseObj(object o)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
            }
            catch { }
            finally { o = null; }
        }