a.Workbooks.Item(1).Worksheets.Item(1).Cells(3, 4) = Ared("姓名")‘显示姓名   知道图片路径,如何在指定excel单元格中显示图片呢?
  ’下面方法:提示无法找到指定文件,可我的excel文件就是放在根目录的ChangWu\BiaoDan中
    xSheet = a.Workbooks.Item(1).Worksheets.Item(1)
                xSheet.Shapes.AddPicture(Server.MapPath("ChangWu\BiaoDan\RenShiDangAn.xls"), MsoTriState.msoFalse, MsoTriState.msoTrue, 3, 50, 100, 100)

解决方案 »

  1.   

    1. 将Server.MapPath("ChangWu\BiaoDan\RenShiDangAn.xls")赋给一个临时变量,看看是不是你想要的值。2. AddPicture应该期待一个图片bmp,jpg等,你传入的是个xls文件。
      

  2.   

    我那excel文件为模板,每次重新赋值单元格都得清空,怎样让指定位置的图片为空呢?
      

  3.   

    xSheet.Shapes.AddPicture返回一个Shape类型的对象,试一试他的Delete方法Shape addedShape =   xSheet.Shapes.AddPicture(Server.MapPath("ChangWu\BiaoDan\RenShiDangAn.xls"), MsoTriState.msoFalse, MsoTriState.msoTrue, 3, 50, 100, 100)......addedShape.Delete();
      

  4.   

     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);