c# – 单元格中的Excel图像
发布时间:2020-12-15 18:29:00 所属栏目:百科 来源:网络整理
导读:如何将图像(图像类型)插入Excel工作表中的特定单元格 taperSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelSheets.get_Item("Taper");Microsoft.Office.Interop.Excel.Range cell = GetMyPictureCELL(taperSheet);Image myImage = new Image();Ren
如何将图像(图像类型)插入Excel工作表中的特定单元格
taperSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelSheets.get_Item("Taper"); Microsoft.Office.Interop.Excel.Range cell = GetMyPictureCELL(taperSheet); Image myImage = new Image(); RenderTargetBitmap bmp; bmp = new RenderTargetBitmap((int)this.Width,(int)this.Height,96,PixelFormats.Pbgra32); bmp.Render(myViewPort); myImage.Source = bmp; myImage.Stretch = Stretch.Uniform; 现在 ? cell.Add(myImage) 但我认为这并不容易. /斯特凡 感谢您的输入doitgood 以下代码适用于我 在我的情况下,我的图像源是一个视口(myViewPort) try { Image myImage = new Image(); RenderTargetBitmap bmp; PngBitmapEncoder encoder; string fileName; System.IO.Stream stream; object missing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Picture pic = null; Microsoft.Office.Interop.Excel.Pictures p = null; bmp = new RenderTargetBitmap((int)this.Width,PixelFormats.Pbgra32); bmp.Render(myViewPort); myImage.Source = bmp; myImage.Stretch = Stretch.Uniform; fileName = System.IO.Path.GetTempFileName(); stream = System.IO.File.OpenWrite(fileName); encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bmp)); encoder.Save(stream); stream.Close(); p = taperSheet.Pictures(missing) as Microsoft.Office.Interop.Excel.Pictures; pic = p.Insert(fileName,missing); pic.Left = cell.Left; pic.Top = cell.Top; } catch { } 解决方法
试试这个:
object missing = System.Reflection.Missing.Value; Excel.Range picPosition = GetPicturePosition(); // retrieve the range for picture insert Excel.Pictures p = yourWorksheet.Pictures(missing) as Excel.Pictures; Excel.Picture pic = null; pic = p.Insert(yourImageFilePath,missing); pic.Left = Convert.ToDouble(picPosition .Left); pic.Top = Convert.ToDouble(picPosition .Top); pic.Placement = // Can be any of Excel.XlPlacement.XYZ value 别忘了发布所有这些东西! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |