如何将图表从Excel文件复制到电源点?

我有一个C#代码构build一个包含几个图表的Excel文件。 我正在通过Microsoft.Office.Interop.Excel 12使用Excel。

这工作正常,但同时我需要生成一个包含相同的图表的PowerPoint演示文稿。

有没有办法将Microsoft.Office.Interop.Excel.ChartObject复制到PowerPoint文件? 或者以任何其他方式将这些图表以编程方式复制到PowerPoint演示文稿中?

我想这应该工作

  using xlNS = Microsoft.Office.Interop.Excel; using Microsoft.Office.Interop.PowerPoint; xlNS.ApplicationClass excelApplication = null; xlNS.Workbook excelWorkBook = null; xlNS.Worksheet targetSheet = null; xlNS.ChartObjects chartObjects = null; xlNS.ChartObject existingChartObject = null; Microsoft.Office.Interop.PowerPoint.ShapeRange shapeRange = null; Microsoft.Office.Interop.PowerPoint.Slide CurSlide; excelApplication = new xlNS.ApplicationClass();//Create New Excel excelWorkBook = excelApplication.Workbooks.Open(Excelpath, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing); Ws = (Excel.Worksheet)excelWorkBook.Worksheets[6];//Your Sheet that contain Chart Ws.Activate(); targetSheet = (xlNS.Worksheet)(excelWorkBook.Worksheets["SheetName"]); chartObjects = (xlNS.ChartObjects)(targetSheet.ChartObjects(paramMissing)); existingChartObject = (xlNS.ChartObject)(chartObjects.Item(1)); existingChartObject.Copy(); shapeRange = CurSlide.Shapes.Paste();//Paste it to your Current Slide shapeRange.Left = 435; shapeRange.Top = 80; //Formatting your chart