Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C在Excel中的特定单元格上添加图片#_C#_Excel Interop - Fatal编程技术网

C# 用C在Excel中的特定单元格上添加图片#

C# 用C在Excel中的特定单元格上添加图片#,c#,excel-interop,C#,Excel Interop,我正在尝试向Excel单元格第3行第1列添加图像,如下所示。编译器给了我一个错误。 我做错什么了吗?提前感谢您的建议 Excel.Application xlApp; Excel.Workbook wb; Excel.Worksheet ws; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); wb = xlApp.Workbooks.Add(misValue); w

我正在尝试向Excel单元格第3行第1列添加图像,如下所示。编译器给了我一个错误。 我做错什么了吗?提前感谢您的建议

Excel.Application xlApp; 
Excel.Workbook wb; 
Excel.Worksheet ws; 
object misValue = System.Reflection.Missing.Value; 
xlApp = new Excel.Application(); 
wb = xlApp.Workbooks.Add(misValue); 
ws = (Excel.Worksheet)wb.Worksheets.get_Item(1); 
ws.Cells[3, 1] = ws.Shapes.AddPicture("C:\\photos\\4a.png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 75, 75, 350, 50);

您必须添加如下图片

Microsoft.Office.Interop.Excel.Range oRange = (Microsoft.Office.Interop.Excel.Range)ws.Cells[3, 1];
float Left = (float)((double)oRange.Left);
float Top = (float)((double)oRange.Top);
const float ImageSize = 32;
ws.Shapes.AddPicture("C:\\pic.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, Left, Top, ImageSize, ImageSize);

<>强/> API可以用来在Excel中添加一个图片,在特定的单元中用C++或其他编程语言,如java、C++等。 如需演示,请参阅以下C#code快照,其中显示了执行代码后Aspose.Cells API生成的输入Excel文件和输出Excel文件。正如您在快照中看到的,单元格C12包含图片

请阅读代码中的注释以获得更多帮助

C#


显示Aspose.Cells API生成的输入Excel文件和输出Excel文件的快照。此处单元格C12包含图片。


您遇到了什么错误?错误是这样发生的。。。。。System.Runtime.InteropServices.ComeException:通过在
C:\Windows\System32\config\systemprofile
C:\Windows\SysWOW64\config\systemprofile
下创建
Desktop
文件夹,从HRESULT:0x800A03ECtry获得异常,或者尝试此@Pranav Patel谢谢,但是我在Excel生成时没有问题,比如,ws.Cells[3,1]=“一些文本”;当我在该单元格上插入图像时,此错误出现在最后一行“Left,Top,ImageSize,ImageSize);”中。第一个ImageSize对应于图像宽度,下一个对应于图像高度。这两个值都是float类型。这是否真的会在确定的单元格中插入图像?似乎不是这样。它只是将图像放在工作表的顶部,以便覆盖这些单元格。。。
// Load input Excel file inside Aspose.Cells Workbook object.
Workbook wb = new Workbook("SampleAddPictureInExcelCell.xlsx");

// Access first worksheet.
Worksheet ws = wb.Worksheets[0];

// Access cell C12 by name.
Cell cell = ws.Cells["C12"];

// Add picture in Excel cell.
int idx = ws.Pictures.Add(cell.Row, cell.Column, "D:/Download/Penguins.jpg");

// Access the picture by index.
Picture pic = ws.Pictures[idx];

// Get the column width and row height of the cell in inches.
double w = ws.Cells.GetColumnWidthInch(cell.Column);
double h = ws.Cells.GetRowHeightInch(cell.Row);

// Adjust the picture width and height as per cell width and height.
pic.WidthInch = w;
pic.HeightInch = h;

// Save the workbook in output Excel file.
wb.Save("OutputAddPictureInExcelCell.xlsx", SaveFormat.Xlsx);