通过Matlab在Excel中插入图像
我正在使用函数, Shapes.AddPicture
插入一个Excel文件中的图像。
我正在调用像这样的例程:
leftPlacement=450; topPlacement=20; imgWidth=350; imgHeight=300; Shapes.AddPicture([pwd '\' img] ,0,1,leftPlacement,topPlacement,imgWidth,imgHeight);
这工作正常。 但是,图像掩盖了文件中的数据。 为了更改位置,必须手动更改leftPlacement, topPlacement, imgWidth imgHeight
。
我想知道,如果有更好的方法来做到透明地将图像放在空单元格中。
Excel工作表中的单个单元格不附加形状 – 它们浮在其上方,并具有自己的坐标。 如果你想把它们浮在一个特定的单元格上面,你可以得到那个单元格的坐标并使用它们。
所以如果你想把它浮在单元格C9之上,试试吧
left = xl.ActiveSheet.Range('C9').Left; top = xl.ActiveSheet.Range('C9').Top; xl.ActiveSheet.Shapes.AddPicture('myPicPath',0,1,left,top,myPicHeight,myPicWidth)
其中xl是包含对Excel应用程序的引用的variables。
请注意,如果随后resize或以其他方式移动任何单元格,则形状/图像的位置不会更改 – 您需要使用相同的方法重新定位它。