C#操作PPT表格
1.激活组件
AxFramerControl改控件的dll自己再网上百度下下载这里不多讲
/// <summary>
/// 检测是否注册控件
/// </summary>
public static void CheckDsoFramerExists()
{
string path = @"c:\windows\system32\dsoframer.ocx";
string filepath = Application.StartupPath;
if (!File.Exists(path))
{
File.Copy(filepath + "\\dsoframer.ocx", path);
}
ProcessStartInfo psi = new ProcessStartInfo("regsvr32", "/s " + path);
Process.Start(psi);
}
2.开始操作写入表格
里面包含创建单元格 单元格复制 单元格字体居中 合并单元格等操作
/// <summary>
/// 创建人员分布表
/// </summary>
/// <param name="obj"></param>
public static void CreateTempPersonInfoByCom(object obj)
{
PPT.Presentation ppt = obj as PPT.Presentation;
if (ppt == null) { return; }
//清楚ppt现有内容
int slides = ppt.Slides.Count;
for (int i = 0; i < slides; i++)
{
ppt.Slides[1].Delete(); ;
}
ppt.Slides.Add(1, PPT.PpSlideLayout.ppLayoutTable);
foreach (PPT.Slide item in ppt.Slides)
{
item.Shapes.Range(1).Delete();
item.Shapes.Range(1).Delete();
item.Shapes.AddTable(7, 9, 10, 10, 700, 300);
PPT.Table table = item.Shapes.Range(1).Table;
if (table != null)
{
table.Cell(1, 1).Shape.TextFrame.TextRange.Text = "类别";
table.Cell(1, 2).Shape.TextFrame.TextRange.Text = "数量";
table.Cell(1, 3).Shape.TextFrame.TextRange.Text = "独立操作人员数量";
table.Cell(1, 4).Shape.TextFrame.TextRange.Text = "工龄分布";
table.Cell(1, 8).Shape.TextFrame.TextRange.Text = "每日人员变动情况";
table.Cell(1, 9).Shape.TextFrame.TextRange.Text = "备注";
table.Cell(2, 4).Shape.TextFrame.TextRange.Text = "入职五年以上";
table.Cell(2, 5).Shape.TextFrame.TextRange.Text = "入职3-5年";
table.Cell(2, 6).Shape.TextFrame.TextRange.Text = "入职1-3年";
table.Cell(2, 7).Shape.TextFrame.TextRange.Text = "入职1年以下";
table.Cell(3, 1).Shape.TextFrame.TextRange.Text = "正式";
table.Cell(4, 1).Shape.TextFrame.TextRange.Text = "试用";
table.Cell(5, 1).Shape.TextFrame.TextRange.Text = "实习";
table.Cell(6, 1).Shape.TextFrame.TextRange.Text = "劳务";
table.Cell(7, 1).Shape.TextFrame.TextRange.Text = "合计";
//循环设置单元格样式
SetTableStyle(table);
//设置合并操作
table.Cell(1, 1).Merge(table.Cell(2, 1));
table.Cell(1, 2).Merge(table.Cell(2, 2));
table.Cell(1, 3).Merge(table.Cell(2, 3));
table.Cell(1, 8).Merge(table.Cell(2, 8));
table.Cell(1, 9).Merge(table.Cell(2, 9));
table.Cell(1, 4).Merge(table.Cell(1, 7));
}
}
}
//设置样式
/// <summary>
/// 设置table样式
/// </summary>
/// <param name="table"></param>
private static void SetTableStyle(PPT.Table table)
{
if (table == null) { return; }
//循环设置单元格样式
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 = 14;
table.Cell(i + 1, j + 1).Shape.TextFrame.HorizontalAnchor = MsoHorizontalAnchor.msoAnchorCenter;
table.Cell(i + 1, j + 1).Shape.TextFrame.VerticalAnchor = MsoVerticalAnchor.msoAnchorMiddle;
}
}
}
3.效果图如下
C#操作PPT表格的更多相关文章
- JAVA通过COM接口操作PPT
一. 背景说明 在Eclipse环境下,开发JAVA代码操作PPT,支持对PPT模板的修改.包括修改文本标签.图表.表格.满足大多数软件生成PPT报告的要求,即先收工创建好模板,在程序中修改模板数据. ...
- C++通过COM接口操作PPT
一. 背景 在VS环境下,开发C++代码操作PPT,支持对PPT模板的修改.包括修改文本标签.图表.表格.满足大多数软件生成PPT报告的要求,先手工创建好PPT模板,在程序中修改模板数据. 二. 开发 ...
- java poi 操作ppt
java poi 操作ppt 可以参考: https://www.w3cschool.cn/apache_poi_ppt/apache_poi_ppt_installation.html http:/ ...
- 黄聪:C#操作Word表格的常见操作(转)
几种常见C#操作Word表格操作有哪些呢?让我们来看看具体的实例演示: bool saveChange = false; //C#操作Word表格操作 object missing = System. ...
- c#操作word表格
http://www.webshu.net/jiaocheng/programme/ASPNET/200804/6499.html <% if request("infoid" ...
- qt 操作excel表格
自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...
- 转发:VB程序操作word表格(文字、图片)
很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google.baidu搜爆了,都没有找到我需要的东西.到是搜索到了很多问这个问题的记录.没办法,索性 ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
随机推荐
- validate插件深入学习-04自定义验证方法
自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...
- 安装升级npm依赖
npm-check 能够自动检索npm包版本,并且提供交互操作界面: 有以下功能: 1.告诉你那些依赖已经过时: 2.在你决定升级时,给你提供依赖包的文档: 3.提示某个依赖没有被你使用: 4.支持全 ...
- solar system by HTML5
solar system by HTML5 星际穿越感觉很炫酷啊,网易貌似做了个专题在朋友圈挺火的.用canvas模拟太阳系,嗯,不错昂! 代码及效果 See the Pen GgpRjN by Na ...
- Angular 2.0 的设计方法和原则
转载自:Angular 2.0 的设计方法和原则 在开始实现Angular 2.0版本之际,我们认为应该着手写一些东西,告诉大家我们在设计上的考虑,以及为什么做这样的改变.现在把这些和大家一起分享,从 ...
- java appium api
Appium中部分api的使用方法,有需要的朋友可以参考下. 使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java ...
- NotePad++常用快捷键。——Arvin
Ctrl+单键 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+Z 撤消 Ctrl+Y 恢复 Ctrl+A 全选 Ctrl+F 键查找对话框启动 Ctrl+H 查找/替换对话框 ...
- HBase 数据读写流程
HBase 数据读写流程 2016-10-18 杜亦舒 读数据 HBase的表是按行拆分为一个个 region 块儿,这些块儿被放置在各个 regionserver 中 假设现在想在用户表中获取 ro ...
- Gradle 使用本地的Jar包(gradle oracle ojdbc14 )
Gradle 使用本地的Jar包(gradle oracle ojdbc14 ) 因为Oracle的驱动包在Maven上是没办法直接下载到的,所以在使用Gradle的使用,会导致无法加载Oracle, ...
- ionic实现双击返回键退出功能
实现这个功能需要四个步骤: 步骤一: 说明:因为需要和手机的硬件(返回按钮)打交道,而ionic本身是不具备该功能的,但是有一个东西可以:ng-cordova插件,这个插件是phoneGap为了能让i ...
- java web 之 SpringMVC4.x配置
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综述: 有 ...