在互操作Excel中的单元格上写图像?

我正在做一个出口到Excel。但我也必须在Excel单元格中导出图像。

public void GenerateAndSaveExcel(DataSet ds) { try { bool excelCreated = CreateExcelApplication(); bool workbookCreated = CreateWorkBook(); if (excelCreated && workbookCreated) { bool workSheetAdded = AddWorkSheet(); if (workSheetAdded) { CreateHeader(ds.Tables[0].Columns); AddRows(ds.Tables[0].Rows, ds.Tables[0].Columns); Save(@"C:\Worksheet1.xlsx"); } } else { } } catch (System.UnauthorizedAccessException) { } catch (System.Runtime.InteropServices.COMException) { } catch (System.IO.IOException) { } finally { excelApp.Quit(); workBook = null; workSheet = null; Dispose(); } } 

这里说我有像ID,名称,SEREENSHOT1,SEREENSHOT2列。 SEREENSHOT1,SEREENSHOT2是图像字节数组。

我正在做所有我在AddRows方法的计算

 public void AddRows(DataRowCollection dataRows, DataColumnCollection colMap) { Microsoft.Office.Interop.Excel.Worksheet workSheet = workSheets.First(); string startIndex = "B1"; Microsoft.Office.Interop.Excel.Range range = workSheet.get_Range(startIndex, Missing.Value); int rowIndex = 2; foreach (var row in dataRows) { int colIndex = 1; foreach (DataColumn column in colMap) { range = (Microsoft.Office.Interop.Excel.Range)workSheet.Cells[rowIndex, colIndex++]; object value = ((System.Data.DataRow)(row)).ItemArray[column.Ordinal]; if (column.ColumnName != "SCREENSHOT1" && column.ColumnName != "SCREENSHOT2") { range.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, value); } if (column.ColumnName == "SCREENSHOT1" && !string.IsNullOrEmpty(value.ToString())) { string path = ConfigurationSettings.AppSettings["imagepathPath"] + @"\img" + ((System.Data.DataRow)(row)).ItemArray[0].ToString() + "SRN1" + ".jpg"; workSheet.Shapes.AddPicture(path, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 10, 10, 200, 200); } if (column.ColumnName == "SCREENSHOT2" && !string.IsNullOrEmpty(value.ToString())) { string path = ConfigurationSettings.AppSettings["imagepathPath"] + @"\img" + ((System.Data.DataRow)(row)).ItemArray[0].ToString() + "SRN1" + ".jpg"; workSheet.Shapes.AddPicture(path, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 10, 10, 100, 100); } } rowIndex++; } } 

这里一切都工作正常,即使图像也来…但如何确定图像的位置单元格。

现在图像来了,但不是在单元格,请help.here我只能使用互操作。我想适应图像在一个单元格