using Excel = Microsoft.Office.Interop.Excel;
方法1、
/// <summary>
/// 插入图片
/// </summary>
/// <param name="sheet">工作表</param>
/// <param name="imageFilePath">图片的绝对路径</param>
/// <param name="rowNumber">单元格行号</param>
/// <param name="columnNumber">单元格列号</param>
/// <returns></returns>
public void AddImage(Excel.Worksheet sheet, string imageFilePath, int rowNumber, int columnNumber, double width, double height)
{
Excel.Range range = sheet.get_Range(sheet.Cells[rowNumber, columnNumber], sheet.Cells[rowNumber, columnNumber]);
range.Select();
Excel.Pictures pics = sheet.Pictures(missing) as Xls.Pictures;
Excel.Picture pic = pics.Insert(imageFilePath, missing);
pic.Left = (double) range.Left;
pic.Top = (double) range.Top;
pic.Width = width;
pic.Height = height;
}
方法2、
/// <summary>
/// 插入图片
/// </summary>
/// <param name="sheet">工作表</param>
/// <param name="imageFilePath">图片的绝对路径</param>
/// <param name="rowNumber">单元格行号</param>
/// <param name="columnNumber">单元格列号</param>
/// <returns></returns>
public void AddImage(Excel.Worksheet sheet, string imageFilePath, int rowNumber, int columnNumber, double width, double height)
{
Excel.Range range = sheet.get_Range(sheet.Cells[rowNumber, columnNumber], sheet.Cells[rowNumber, columnNumber]);
range.Select();
float left = Convert.ToSingle(range.Left);
float top = Convert.ToSingle(range.Top);
sheet.Shapes.AddPicture(imageFilePath, Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, 100, 100);
}
本文提供两种在Excel中插入图片的方法,包括使用Shapes.AddPicture和Pictures.Insert方法,并详细解释了如何指定图片的位置和尺寸。

3483

被折叠的 条评论
为什么被折叠?



