C#.net 操作 ppt

转载 2012年05月18日 09:26:02

真是蛋疼,pdf,word,excel的数据下载功能做完了,现在又增加了ppt的数据下载功能需求,google了一下,发现这方面的资料不多,在一些国外网站上可以零零散散地找到一些相关的资料,稍作整理,在此给出一个示例。本程序调用了MS的Com组件,因此请先添加引用,笔者在本机安装的是office 2003完整版,添加的引用是:Microsoft PowerPoint 11.0 Object Library。

using MsPPT = Microsoft.Office.Interop.PowerPoint;

asp.net操作PowerPoint程序示例如下:

private void CreatePPT()
{
         MsPPT.Application appPowerPoint = null;
         MsPPT.Presentations ppt = null;
         MsPPT._Presentation presentation = null;
         MsPPT.Slides slides = null;
         MsPPT._Slide slide = null;
         MsPPT.TextRange textRange = null;
         MsPPT.Shape shape = null;
         MsPPT.Shapes shapes = null;
         MsPPT.Table table = null;
         string fileName = string.Format("{0}/{1}.ppt", Server.MapPath("."), DateTime.Now.Ticks.ToString());
         string strTemplate = "C:\\Program Files\\Microsoft Office\\Templates\\Presentation Designs\\Blends.pot";
         try
         {
                 appPowerPoint = new MsPPT.ApplicationClass();
                 appPowerPoint.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
                 ppt = appPowerPoint.Presentations;
                 // 根据模板创建新的演示文稿
                 presentation = ppt.Open(strTemplate,
                 Microsoft.Office.Core.MsoTriState.msoFalse,
                 Microsoft.Office.Core.MsoTriState.msoTrue,
                 Microsoft.Office.Core.MsoTriState.msoTrue);
                 slides = presentation.Slides;
                 // 为幻灯片添加文本
                 slide = slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutTitle);
                 textRange = slide.Shapes[1].TextFrame.TextRange;
                 textRange.Text = "我的示例幻灯片";
                 /// 新建一张幻灯片
                 slide = slides.Add(2, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutText);
                 textRange = slide.Shapes[1].TextFrame.TextRange;
                 textRange.Text = "第二张幻灯片";
                 // 添加一幅图片
                 slide.Shapes.AddPicture("http://www.baidu.com/img/baidu_logo.gif",
                 Microsoft.Office.Core.MsoTriState.msoFalse,
                 Microsoft.Office.Core.MsoTriState.msoTrue, 100, 150, 270, 129);
                 // 添加一个表格
                 shapes = slide.Shapes;
                 shape = shapes.AddTable(3, 3, 105, 320, 400, 100);
                 table = shape.Table;
                 for (int i = 0; i < table.Rows.Count; i )
                 {
                          for (int j = 0; j < table.Columns.Count; j )
                          {
                                   table.Cell(i 1, j 1).Shape.TextFrame.TextRange.Font.Size = 12;
                                   table.Cell(1 1, j 1).Shape.TextFrame.TextRange.Text = string.Format("[{0},{1}]", i 1, j 1);
                          }
                  }
                 // 保存PPT
                 presentation.SaveAs(fileName,
                 Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsDefault,
                 Microsoft.Office.Core.MsoTriState.msoFalse);
         }
         catch (Exception ex)
         {
                  throw ex;
         }
         finally
         {
                  presentation.Close();
                  appPowerPoint.Assistant.Visible = false;
                  appPowerPoint.Quit();
                  GC.Collect();
         }
}

 

请问楼主怎么把PPT里的“单点此处添加标题”框去掉啊?

recole: 在保存PPT之前加入以下代码,隐藏那些边框就行了
// Microsoft.Office.Interop.PowerPoint.Slides slides
foreach (_Slide s in slides)
{
if (string.IsNullOrEmpty(s.Shapes.Placeholders[1].TextFrame.TextRange.Text))
{
s.Shapes.Placeholders[1].Visible = Microsoft.Office.Core.MsoTriState.msoFalse;
}
if (string.IsNullOrEmpty(s.Shapes.Placeholders[2].TextFrame.TextRange.Text))
{
s.Shapes.Placeholders[2].Visible = Microsoft.Office.Core.MsoTriState.msoFalse;
}
}

c# 操作PPT

前段时间要做一个把指定图片放到新建的ppt的东西,在网上找了点资料看了一下,发现用C#做好像是最简单的一个,一下是在网上找的一段代码,直接贴进去就可以运行,但是在运行之前一定要添加dll支持:  项...
  • aixing5369
  • aixing5369
  • 2014年02月11日 16:34
  • 852

C# 创建幻灯片

//C#如何动态生成ppt幻灯片 并且自动播放呢 我有源码可是缺少引用 确实搞不明白了 我用的office2007 //源码如下: //C# code using System; usin...
  • ty_soft
  • ty_soft
  • 2012年02月11日 16:26
  • 1184

C#实现 word、pdf、ppt 转为图片

office word文档、pdf文档、powerpoint幻灯片是非常常用的文档类型,在现实中经常有需求需要将它们转换成图片 -- 即将word、pdf、ppt文档的每一页转换成一张对应的图片,就像...
  • zhuweisky
  • zhuweisky
  • 2015年09月02日 08:45
  • 6032

C#打开Powerpoint

//功能:打开PPT某一页 //参数:filePath: PPT路径;pageIndex:指定打开的页码 private void GotoSlide(string filePath,...
  • ilipan
  • ilipan
  • 2015年07月31日 16:38
  • 2024

C# 操作PPT的基本方法

  • 2011年04月16日 17:34
  • 879KB
  • 下载

poi操作ppt创建表格

POI版本3.14。 创建powerpoint,一页ppt,里面插入两个表格。 /* =======================================================...
  • starandsea
  • starandsea
  • 2016年06月13日 18:51
  • 1848

C#在winForm里嵌入office

由于公司的需要,上司让我研究如何在C#里控制office,主要是word。首先要先了解如何在winForm里嵌入office,一开始找了非常多的贴子,大多数是说在microsoft webbrowse...
  • huang_hws
  • huang_hws
  • 2012年04月11日 14:40
  • 7431

c#自动播放PPT

  • 2012年08月23日 17:22
  • 595KB
  • 下载

如何使用C#操作幻灯片

如何使用C#操作幻灯片 一般大家经常会用PPT遥控翻页笔来遥控幻灯片,本文确为大家介绍了使用C#制作一个遥控幻灯片,感兴趣的朋友可以参考下 记得老师讲课的时候,经常会用PP...
  • qq_28270231
  • qq_28270231
  • 2015年10月13日 12:58
  • 1815

程序内嵌PPT播放及相关控制方法

作者:原创 方案: 将PowerPoint程序创建到自己程序的一个面板A中来确定PPT播放区以外区域的大小,主要是为移动并隐藏这些不必要的区域做准备移动PowerPoint程序主窗口并调整其大...
  • mahushen
  • mahushen
  • 2012年11月29日 12:51
  • 2119
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#.net 操作 ppt
举报原因:
原因补充:

(最多只允许输入30个字)