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

时间:2016-01-12 17:21:03

标签: c# datagridview interop powerpoint

有没有办法将整个datagridview对象复制到powerpoint slide keep foratting?我尝试了以下代码,但它给了我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添加到图片框中,但我无法弄清楚如何将它们绑定在一起。谢谢,

1 个答案:

答案 0 :(得分:0)

如果您想将网格内容渲染为图像 - 请检查this posting或谷歌“渲染wpf控件到图像”。不要忘记使用正确的剪贴板格式id,或使用Clipboard.SetImage而不是SetDataObject。