图片是存在数据库中的image字段
显示的是datagridview中的DataGridViewImageColumn控件
希望能导出到EXCEL,求破

解决方案 »

  1.   


    /// <summary>
            /// 将图片保存至EXCEL
            /// </summary>
            /// <param name="rg">图片存放到EXCEL中的RG</param>
            /// <param name="worksheet"></param>
            /// <param name="img"> 图片 </param>
            private void insertPict(Range rg, _Worksheet worksheet, string img)
            {
                rg.Select();
                Excel.Pictures pics = (Excel.Pictures)worksheet.Pictures(Type.Missing);
                pics.Insert(img, Type.Missing);
            }
      

  2.   

                    Excel.Application app = new Excel.Application();
                    app.UserControl = false;
                    app.Application.DisplayAlerts = false;                #region 初始化 Excel
                    Excel.Workbooks workbooks = app.Workbooks;
                    Excel._Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
                    Excel.Sheets sheets = workbook.Worksheets;
                    _Worksheet worksheet = (_Worksheet)sheets.get_Item(1);
                    #endregion第一个参数:
    Range rg = (Excel.Range)worksheet.Cells[1, 1];  表示第1行第1列第二个参数就是_Worksheet 
    第三个参数是你的图片最后调用
    app.ActiveWorkbook.SaveAs(@"c:\1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    进行保存
      

  3.   

    参考:
    http://www.xker.com/page/e2009/0901/77380.html
      

  4.   

    使用DataGridViewImageColumn 
    DataGridViewImageColumn column = new DataGridViewImageColumn(); 
    dataGridView1.Columns.Add(column); 
    column.HeaderText = "图片"; 
    column.Image = System.Drawing.Image.FromFile("路径"); ((DataGridViewImageCell)this.dataGridView1.Rows[e.RowIndex].Cells[ "图片列"]).Value  = "路经 "
    打开excel模板
    public void InsertPicture( string RangeName, string PicturePath ) 
        { 
          m_objRange = m_objSheet.get_Range(RangeName, m_objOpt); 
          m_objRange.Select(); 
          Excel.Pictures pics = (Excel.Pictures)m_objSheet.Pictures(m_objOpt); 
          pics.Insert(PicturePath, m_objOpt); 
        } 
        public void InsertPicture( string RangeName, string PicturePath, float PictuteWidth, float PictureHeight ) 
        { 
          m_objRange = m_objSheet.get_Range(RangeName, m_objOpt); 
          m_objRange.Select(); 
          float PicLeft, PicTop; 
          PicLeft = Convert.ToSingle(m_objRange.Left); 
          PicTop = Convert.ToSingle(m_objRange.Top); 
          m_objSheet.Shapes.AddPicture(PicturePath, Microsoft.Office.Core.MsoTriState.msoFalse, 
          Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, PictuteWidth, PictureHeight); 
        } 或 
    sheet.Shapes.AddPicture("C:""a.gif", Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoCTrue, 250, 0, 70, 30); 
      

  5.   

    这有插入图片的例子  lz可已看一下http://dotnet.aspx.cc/article/04031aad-0f45-4169-8d14-105d05690e0a/read.aspx