C# 将 datagridview 复制并粘贴到具有格式的 Powerpoint 幻灯片

C# copy and paste datagridview to Powerpoint slide with formatting

有没有办法将整个 datagridview 对象复制到 powerpoint 幻灯片并保持格式?我尝试了以下代码,但它给了我 Clipboard is empty or contains data which may not be pasted 错误

        PP.Application ppt = new PP.Application();
        PP.Presentation pres = ppt.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoTrue);
        PP.Slides slides = pres.Slides;
        PP.Slide slide = slides.AddSlide(1,pres.SlideMaster.CustomLayouts[PP.PpSlideLayout.ppLayoutText]);

        datagridview1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
        datagridview1.SelectAll();
        DataObject obj = datagridview1.GetClipboardContent();
        Clipboard.SetDataObject(obj, true);

        PP.ShapeRange sr = slide.Shapes.Paste();//Error on this line

如果有办法将 dataGridView 导出为图像,那也很好。最终用户不必与数据交互。我试过将 datagridview 添加到图片框,但我不知道如何将它们绑定在一起。谢谢,

如果您希望将网格内容呈现为图像 - 请选中 this posting 或 google 以获得 "render wpf control to image"。不要忘记使用正确的剪贴板格式 ID,或使用 Clipboard.SetImage 而不是 SetDataObject。