/// <summary>
/// 将图片插入到指定的单元格位置,并设置图片的宽度和高度。
/// 注意:图片必须是绝对物理路径
/// </summary>
/// <param name="PicturePath">要插入图片的绝对路径。</param>
/// <param name="PictuteWidth">插入后,图片在Excel中显示的宽度。</param>
/// <param name="PictureHeight">插入后,图片在Excel中显示的高度。</param>
public void InsertPicture(_Worksheet oSheet, Range startcell, Range endcell, string PicturePath, bool center,bool isYuan,bool isdian,float x=0,float y=0)
{
oSheet.Application.ActiveWindow.Zoom = 100;
Range range = oSheet.get_Range(startcell, endcell);
range.Merge(0);
float PicLeft, PicTop;
float cellHight, cellWith;
PicLeft = Convert.ToSingle(range.Left);
PicTop = Convert.ToSingle(range.Top);
cellHight = Convert.ToSingle(range.Height);
cellWith = Convert.ToSingle(range.Width);
oSheet.Shapes.AddPicture(PicturePath, Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, cellWith, cellHight);
}
使用上述方法将图片插入EXECL中。 结果我公司电脑图片没有问题。但是到了家里所有的图片慢慢偏移了。
我怀疑是获取到的 range.top属性有问题。但是不知道如何解决。请教大神