是否能分享一下将图片插入到excel中的方法?

解决方案 »

  1.   

     range = worksheetHouse.get_Range(worksheetHouse.Cells[2, 2], worksheetHouse.Cells[2, 2]);
                        if (drs.Length>0)
                        {
                            path = "../"+drs[0]["FilePath"].ToString();
                            path = Server.MapPath(path); 
                            if (File.Exists(path))
                            {
                                range.Select();
                                PicLeft = Convert.ToSingle(range.Left);
                                PicTop = Convert.ToSingle(range.Top) ;
                                worksheetHouse.Shapes.AddPicture(path, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, width, height);//100, 80);                        }  
                        }
      

  2.   

    可以插入
    Excel.Application myExcel = new Excel.Application(); 
                Excel.Workbook xlBook;
                Excel.Worksheet xlSheet;
                Excel.Range xlsRange;
                System.Drawing.Bitmap bmp = new Bitmap(150,20);
                System.Drawing.Graphics g = Graphics.FromImage(bmp);
                xlBook = (Excel.Workbook)myExcel.Workbooks.Add("");
                xlSheet = (Excel.Worksheet)xlBook.Worksheets[1];
                myExcel.Visible = true;
                xlSheet.Activate();            myExcel.Cells[1, 1] = "123";
                myExcel.Cells[1, 2] = "456";
                myExcel.Cells[2, 1] = "aaa";
                myExcel.Cells[2, 2] = "bbb";
                g.DrawLine(new System.Drawing.Pen(System.Drawing.Color.Blue), 1, 1, 100, 100);
                System.Windows.Forms.Clipboard.SetDataObject(bmp, true);
                
                xlsRange = xlSheet.get_Range((Excel.Range)xlSheet.Cells[1,3],(Excel.Range)xlSheet.Cells[1,3]);
                myExcel.get_Range((Excel.Range)myExcel.Cells[1,3],(Excel.Range)myExcel.Cells[1,3]).ColumnWidth = 30;
                myExcel.get_Range((Excel.Range)myExcel.Cells[1,3],(Excel.Range)myExcel.Cells[1,3]).RowHeight = 30;
                xlSheet.Paste(xlsRange, bmp);
                
                xlsRange = xlSheet.get_Range((Excel.Range)xlSheet.Cells[2,3],(Excel.Range)xlSheet.Cells[2,3]);
                myExcel.get_Range((Excel.Range)myExcel.Cells[2,3],(Excel.Range)myExcel.Cells[2,3]).ColumnWidth = 30;
                myExcel.get_Range((Excel.Range)myExcel.Cells[2,3],(Excel.Range)myExcel.Cells[2,3]).RowHeight = 30;
                xlSheet.Paste(xlsRange, bmp);
      

  3.   


    孟子的是winform 的吧?有没有asp.net的,对winform 不熟悉