【问题标题】:C# Paste HTML to Excel or PowerPointC# 将 HTML 粘贴到 Excel 或 PowerPoint
【发布时间】:2013-04-03 08:52:15
【问题描述】:

如何将 HTML(表格)代码粘贴到 Excel 或 PowerPoint 中?

【问题讨论】:

  • 如果你知道你为什么问?
  • @Freelancer 发布您自己的答案是完全可以接受的。在问题询问页面中甚至还有一个用于执行此操作的复选框。它可以帮助未来的开发人员。诚然,答案不是最佳实践——但——我们将看看 OP 是否接受反馈。
  • 勾选框需要等待 2 天。不过谢谢。

标签: c# html excel powerpoint


【解决方案1】:

我已经解决了一些关于将 HTML 粘贴到 Excel 和 PowerPoint 中的问题,并注意到很多人都在问这个问题。

我想分享我的研究和解决方案。

假设我们有一个名为 html 的 html 文件,我们想在 Excel 中访问它,让我们执行以下操作:

Clipboard.SetText(html);

我们将 html 复制到剪贴板中。剪贴板从 html 中生成来自输入文件的真实表格或图像/图表。

System.Threading.Thread.Sleep(2000);

让我们稍等片刻预览

sheet.Range(cellmapp).PasteSpecial();   

现在,我们通过定义 cellmap 将内容粘贴到我们想要粘贴的范围内。

System.Threading.Thread.Sleep(1000);

让我们等一下看看输出

sheet.UsedRange.Copy(Missing.Value);

现在,为了将表格图像复制到 PowerPoint 中,我们必须使用 UsedRange.Copy,因为它会复制当前选定的 Excel 区域。

为了检查我们是否将其粘贴到正确的 Powerpoint 幻灯片中

foreach (PowerPoint.Slide slide in presentation.Slides)
{
    foreach (PowerPoint.Shape pptshape in slide.Shapes)
    {
        if(<your condition satisfies>)
        {
            slide.Select(); // some position in any slide
            pptshape.Delete();//delete old content that was in that slide
            ppApp.ActiveWindow.View.PasteSpecial(); //paste the Excel content
        }
    }
}

当然还有其他解决方案,比如用 html 代码制作图像并粘贴,这是我最初的想法。

另一篇提到该操作的帖子: Showing HTML in PowerPoint

【讨论】:

  • 使用固定的睡眠时间等到某事完成是一种不好的做法。更好地使用回调。这可能会在速度较慢的计算机或较大的工作表上中断。
  • 感谢您提供的丰富信息。我放了一个计时器,因为在较大的复制/粘贴表上它需要更多时间。不知道回调,看看吧。
  • 如何将 excel 范围复制到保持源格式的形状?
猜你喜欢
  • 2019-09-05
  • 2011-11-21
  • 2014-10-15
  • 2020-12-21
  • 2016-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多