【问题标题】:C# copy and paste datagridview to Powerpoint slide with formattingC#将datagridview复制并粘贴到带有格式的Powerpoint幻灯片
【发布时间】:2016-01-12 17:21:02
【问题描述】:

有没有办法将整个 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 添加到图片框,但我不知道如何将它们绑定在一起。谢谢,

【问题讨论】:

标签: c# datagridview interop powerpoint


【解决方案1】:

如果您想让您的网格内容呈现到图像 - 检查 this posting 或 google 以获取“将 wpf 控件呈现到图像”。不要忘记使用正确的剪贴板格式 id,或者使用 Clipboard.SetImage 代替 SetDataObject。

【讨论】:

  • 谢谢亚历克斯。我终于让它工作了。由于我使用的是 Winforms,因此我使用了 .DrawToBitmap() 方法及其工作原理。
猜你喜欢
  • 1970-01-01
  • 2021-12-17
  • 2014-10-15
  • 2020-07-09
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-17
相关资源
最近更新 更多