我在Gridview里面绑定好了数据其中每个序列号对应一个Barcode条码的图片,我现在想把这个序列号和对应的Barcode的图片汇到Excel里面我是用System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw)
GridView1.RenderControl(hw); 这种方法汇出的,可是Barcode图片汇不出,是个红色的小叉叉,各位有没有什么办法汇出图片啊在线等候ing...谢谢各专程路过的达人

解决方案 »

  1.   

    有办法啊,。是比较麻烦的。所以,一般情况下直接导入比较麻烦的参见   C#向Excel报表中插入图片的2种方法
    http://blog.csdn.net/net_lover/archive/2007/07/23/1702797.aspx
      

  2.   

    图片导入excel.
      

  3.   


    /// <summary>
      /// 将图片填充到Excel中的某个或某些单元格中
      /// </summary>
      /// <param name="ws">Microsoft.Office.Interop.Excel.Worksheet</param>
      /// <param name="m_objRange"> Microsoft.Office.Interop.Excel.Range</param>
      /// <param name="PicturePath">插入图片的绝对物理路径</param>
      /// <param name="IsMergeCells">是否合并上面的单元格</param>
      public void InsertPicture(Microsoft.Office.Interop.Excel.Worksheet ws, Microsoft.Office.Interop.Excel.Range m_objRange, string PicturePath, bool IsMergeCells)
      {
      //计算单元格的宽和高
      float PictuteWidth, PictureHeight;
      PictuteWidth = Convert.ToSingle(m_objRange.Width);
      PictureHeight = Convert.ToSingle(m_objRange.Height);
      PictuteWidth = 150;
      PictureHeight = 200;
      if (IsMergeCells)
      {
      //合并单元格
      m_objRange.Merge(System.Reflection.Missing.Value);
      }
      m_objRange.Select();
      float PicLeft, PicTop;
      PicLeft = Convert.ToSingle(m_objRange.Left);
      PicTop = Convert.ToSingle(m_objRange.Top);
      ws.Shapes.AddPicture(PicturePath, Microsoft.Office.Core.MsoTriState.msoFalse,
      Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft+2, PicTop, PictuteWidth, PictureHeight);
      }
    调用Microsoft.Office.Interop.Excel.Range rg = (Microsoft.Office.Interop.Excel.Range)ws.Cells[j + 2, k + 1];
      if (dt.Columns[k].ColumnName=="Thumbnails")
      {
      #region 生成图片
      string filePath = Application.StartupPath + "//NetPagePic//" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
      Image img= BytesToImage((byte[])dt.Rows[j][k]);
      img.Save(filePath);  #endregion  InsertPicture(ws, rg, filePath, true);//向Excel插入图片
      File.Delete(filePath);//删除文件
      rg.RowHeight = 200;
      rg.ColumnWidth =25;//宽度设置为150时在Excel中实际宽度大大超出了150。顾修改为25
      }
      else
      {
      rg.NumberFormatLocal = "@";
      ws.Cells[j + 2, k + 1] = dt.Rows[j][k].ToString();
      }