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);
}