我的误会...
这是我在环顾四周时发现的评论:
没有任何版本的 Excel 允许您将图片插入单元格。图片被插入到工作表中并且将始终浮动。图片的属性之一可以设置为“随单元格移动和调整大小”,但仅当插入、删除底层行和列或调整大小时才会移动或拉伸图片。它不会将图片限制在单元格中。
所以也许我只需要适当地设置属性即可。
如果我能以编程方式完成此操作,我就一切就绪
编辑
下面的代码几乎满足了我想要/需要的要求。
请注意,在插入图片之前,我将要覆盖的单元格的宽度和高度设置为适当的尺寸。
private static void AddImage(ExcelWorksheet ws, int rowIndex, String imageFile)
{
ExcelPicture picture = null;
Bitmap image = new Bitmap(imageFile);
if (image != null)
{
picture = ws.Drawings.AddPicture("pic" + rowIndex.ToString(), image);
picture.From.Column = 0;
picture.From.Row = rowIndex-1;
picture.SetSize(320, 240);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以插入图片,然后调整其.Top,.Left使其与相应单元格的.Top和对齐。.Left您可以.RowHeight使用与图片相同的单位设置单元格行的单位.height(尽管有最大高度)。该.ColumnWidth列的宽度以文本字符为单位,所以我所做的类似于:
myColumn.ColumnWidth = myColumn.ColumnWidth / myColumn.Width * myPicture.Width
Run Code Online (Sandbox Code Playgroud)
我运行它两次,因为有时第一次设置时.ColumnWidth,它的设置不精确。