首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中从Excel到PowerPoint的拉伸表

在C#中从Excel到PowerPoint的拉伸表
EN

Stack Overflow用户
提问于 2013-04-03 20:26:00
回答 2查看 1.1K关注 0票数 0

我正在尝试通过C#在PowerPoint中拉伸一张桌子

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

我基本上要做的是,将一个HTML文件复制到

代码语言:javascript
复制
Clipboard.SetText(html);

将其粘贴到Excel区域

代码语言:javascript
复制
sheet.Range(cellmapp).PasteSpecial();  
sheet.Columns.AutoFit();
sheet.Rows.AutoFit();
sheet.UsedRange.Copy(Missing.Value);

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

代码语言:javascript
复制
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();
               }
           }
     }
}

它会将我在PowerPoint中的表格复制到我选择的位置。

但问题是,这张桌子真的很薄、很小、很容易上当,因为它太小了。

在C#中有用于此的拉伸函数吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-03 21:56:23

您还可以:

在Clipboard

  • paste it in powerpoint

  • resize
  1. shape表中选择所需的所有单元格,并将其复制到表格中

Clipboard.GetDataObject clipbordCache = var ();

//在excel中复制...

//粘贴到powerpoint中

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

//调整大小

table.Width = 200;

票数 1
EN

Stack Overflow用户

发布于 2013-04-03 21:03:44

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

额外的好处:考虑到excel粘贴的表格的糟糕布局,以及当你修改它时表格对象的缓慢速度,创建一个你喜欢的powerpoint表格,然后将excel中的值粘贴到新表格中可能会更快。只需遍历每个单元格并为.text属性赋值。如果可以使用默认的powerpoint样式,则可以通过编程方式将每个表格设置为一种样式,请搜索表对象的the.style属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15787347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档