在Excel中将Excel表格拉伸到PowerPoint中

我试图通过C#展开PowerPoint中的表格

表格已经从Excel复制到PowerPoint中,问题是粘贴表格的内容很小,无法读取。

我正在做的基本上是,复制HTML文件到

Clipboard.SetText(html); 

将其粘贴到Excel范围内

 sheet.Range(cellmapp).PasteSpecial(); sheet.Columns.AutoFit(); sheet.Rows.AutoFit(); sheet.UsedRange.Copy(Missing.Value); 

现在,我想要将它粘贴到PowerPoint中的正确位置

 foreach (PowerPoint.Slide slide in presentation.Slides) { foreach (PowerPoint.Shape pptshape in slide.Shapes) { if (!pptshape.Type.ToString().Equals("msoAutoShape") && pptshape.AlternativeText.Contains("|")) { if (xlsSheetName == pptSheetName && xlsShapeName == pptxlsShapeName) { ppApp.ActiveWindow.View.PasteSpecial(); } } } } 

它在我select的地方在PowerPoint中复制我的表格。

但问题在于,桌子太小,太小,太小,太小。

C#中有一个伸缩函数吗?

谢谢。

你也可以:

  1. 在Excel中select你需要的所有单元格
  2. 将它们复制到剪贴板中
  3. 粘贴在Powerpoint
  4. 调整形状表的大小

    var clipbordCache = Clipboard.GetDataObject();

    //复制excel …

    / /粘贴在PowerPoint中

    var table = slide.shapes.Paste(); Clipboard.SetDataObject(clipbordCache);

    //调整

    table.Width = 200;

我曾经做过类似的事情 – 如果我没有记错,你必须设置新的表格对象的宽度/高度属性更大(取决于你的工作表的布局),但Powerpoint可能会忽略,如果文本太小 – 在这种情况下,只需调整每个单元格的.font.size属性即可。

作为一个额外的尝试:给定excel粘贴表格的糟糕布局以及修改表格对象的速度时,根据自己的喜好创build一个powerpoint表格可能会更快,然后将excel中的值粘贴到新表格中。 只需遍历每个单元格并为.text属性赋值。 如果可以使用默认的PowerPoint样式,则可以通过编程方式将每个表设置为样式,然后search表格对象的.style属性。