c# - 如何将图表从 Excel 文件复制到 PowerPoint?

标签 c# excel .net-4.0 office-interop

我有一个 C# 代码构建一个包含少量图表的 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

关于c# - 如何将图表从 Excel 文件复制到 PowerPoint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15762385/

相关文章:

c# - 我怎样才能获得对当前事件模态形式的引用?

excel - 电源查询从下面的行中减去上面的行

c# - 如何在 C# 中内部检测应用程序是处于控制台模式还是 Windows 模式

c# - WPF 中的 ContextMenu 太宽

c# - 从 HttpWebResponse 和 .NET 4.0 Framework 中读取的正确方法

c# - 在 C# 中,我如何获取正在运行的文件的名称?

c# - Intellisense 不显示存储在外部文件中的 XML 注释

c# - TransformPoint() 方法附加到哪个对象的变换重要吗?

excel - 将 1.1 舍入到 2 的功能是什么?

c# - Excel-DNA 将自定义数据保存到工作表(不是单元格)