首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >002 C# 写入Excel,Word,Ppt完整攻略

002 C# 写入Excel,Word,Ppt完整攻略

原创
作者头像
职场编码
修改2020-05-25 10:36:25
2.8K0
修改2020-05-25 10:36:25
举报
文章被收录于专栏:Ruby办公自动化Ruby办公自动化
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

Hey,How are you doing?

我是 职场编码,很高兴认识你。

以前,我是一个眼高手低的职场人。

对一些很简单的理论不屑一顾。

认为这种简单事谁都能做到。

其实,越是简单的东西,越要学会举一反三。

这期,想给大家介绍一下C#操作微软三大件Excel,Word,Ppt攻略。

你可能会说,不就是在这几个软件里写入数据吗?

有什么难的,我打开软件不用编码就能写。

可能写1个你觉得容易,你批量写100个试一下吧。

高效职场人嘛,总要学一些黑科技,来助自己一臂之力。

其实有很多编程语言可以实现,比如Python,Vba等。

但我想跟你说,试试C#其实也很香。

首先,你需要下载Visual Studio2013。

私信发送“ 软件 ” ,获取Visual Studio2013安装包。

注:图文顺序为,先图后解释。

界面设计

C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
  • 新建一个项目文件,取好项目名称(数字、英文、汉语开头都可以)
  • 选择C#编程语言,选择“窗体应用程序”,点击“确定”。
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
  • 使用Button控件分别拖拽三个。
将控件的Text属性分别改为写入Excel,写入Word,写入Ppt,即可实现改名。
  • 使用Textbox控件分别拖拽两个。
将控件的Multiline属性改为true实现多行显示。
将其中一个控件的ReadOnly改为true实现文本标签效果。

因为Lable标签无法实现多行显示,只能另辟蹊径。

编写代码

C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
  • 引入命名空间

在项目-添加引用,分别选择Microsoft Excel 16.0 Object Library、

Microsoft Word 16.0 Object Library、Microsoft PowerPoint 16.0 Object Library。

因为前期绑定运行速度极快,而且编写代码时可以有代码提示。

这期,我特别向你介绍这种操作方法。

文末有源码获取途径,源码仅供个人学习使用,切勿商用。

  • 完善命名空间引入代码
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略
  • 编辑写入Excel单击事件代码
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

流程:生成Excel主程序》新建工作簿》通过Cells属性写入单元格》另存在桌面上》关闭Excel程序。

C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

我们提前在右下角的蓝色区域填入我们想写入的值,

就能通过est.Cells[1, 1] = textBox1.Text写入Excel表格。

  • 编辑写入Word单击事件代码
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

流程:生成Word主程序》新建文档》通过Range.Text属性写入段落》另存在桌面上》关闭Word程序。

C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

我们提前在右下角的蓝色区域填入我们想写入的值,

就能通过wph.Range.Text = textBox1.Text写入Word文档。

  • 编辑写入Ppt单击事件代码
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

流程:生成Ppt主程序》新建演示文稿》通过TextFrame.TextRange.Text属性写入文本框》另存在桌面上》关闭Ppt程序。

C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

我们提前在右下角的蓝色区域填入我们想写入的值,

就能通过psd.Shapes[1].TextFrame.TextRange.Text = textBox1.Text写入Ppt演示文稿。

友情贴士:当引入三大件命名空间后,生成Application及二级对象时。 编辑器会提示对象与事件存在二义性、 这时,你需要在Application及二级对象前加上 _ 即可消除错误提示。

BUG修正

在实际操作过程中,通过对比三大件之间的差异。

发现使用Quit()指令无法正常关闭Excel和Ppt后台进程。

  • Excel代码修正
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

Excel太特殊(矫情),你打开4个Excel,后台进程就会显示4个EXCEL.EXE*32。

因此使用了GetWindowThreadProcessId方法获取进程ID,

通过锁定进程ID终结进程,这样可以防止误杀其他EXCEL程序。

First blood、Double kill、Triple kill、Quadro kill、Penta kill。

  • Ppt代码修正
C#写入Excel,Word,Ppt完整攻略
C#写入Excel,Word,Ppt完整攻略

无论你打开多少个Ppt,后台只有一个POWERPNT,EXE进程。

因而采用PROCESS进程类数组的Kill方法终结进程。

好了,这期就介绍到这。

私信回复“ 源码 ”,获取代码下载地址。

如果你也喜欢编码,请关注我,

我为职场人带盐,让我们一起进步。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 界面设计
  • 编写代码
  • BUG修正
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档