006 C# 自动生成信息卡

2020-06-01 10:17:31 浏览数 (1)

Hey,How are you doing?

2020年,对于我来说,既是机遇,也是挑战。

所谓挑战,是指C#实现办公自动化的系统课程几乎空白。

所谓机遇,是指做好了有可能成为C#办公自动化第一人。

我不是专业码农,没有太多项目经验。

庆幸的是,日常办公中接触到了很多高度重复的工作。

我的目的很明确,就是想通过C#实现重复工作自动化。

也许骨子里和很多人不同,我并没有追Python的风。

C/C ,大佬们通常用于操作系统、硬件底层等领域。

而Python主攻人工智能。

由于VBA存在,Python并不是最适合办公自动化的工具。

1995年Java诞生,2002年C#诞生,

Java和C#同属C系语言,但C#比Java简洁易学。

如果你是想找工作,你可以学习Java。

咱们目的是实现重复工作自动化,

使用C#则可以实现更早下班。

我并不是特别厉害,曾研究过2个月VBA没有继续深造。

略懂一些基础语法,我感觉这样,其实就已经足够了。

通过短暂学习,我知道VBA是通过COM组件实现办公自动化。

其实,我也可以通过COM组件,用C#实现办公自动化。

就是抱着这样一种纯碎想法,我开了新坑[职场编码],

致力于贡献一些职场小白实现效率提升的小技巧。

说句实在话,我学了2个月VBA,就已经对Sub End Sub,

With End With产生依赖了。

VBA实在太好用了,那时根本瞧不上C#。

2020年1月下旬,在家憋着没事,就开始研究C#,从基础语法,看到最新特性,

经过将近4个月的磨合,我发现,

自己竟然喜欢上了优雅的{花括号}和[索引]。

前者可以快速区分代码块,而不必使用游标卡尺为缩进而烦恼。

后者可以快速引用对象,而不必与对象的(方法)混为一谈。

前面,我所说的COM组件是指:

  • Microsoft.Office.Interop.Word;
  • Microsoft.Office.Interop.Excel;
  • Microsoft.Office.Interop.Powerpoint;

当然还有其他的组件,如Access、Publisher、Visio等。

因为日常接触到的基本就是办公三大件。

今后粉丝有需求,我会再开专题,详细讲解其他组件。

我们是技术文,排版其实不是最重要的。

通常推文以技术为主,若哪里看不懂,

或者我写得不够明确,欢迎私信联系。

下面,我们来看一下如何自动生成信息卡。

根据操作示意图,我们可以得知,只要把Excel数据写入Word模板里就可以了。

首先,我会在Word里建立一张信息卡模板,放在文件夹~c003binDebug。

接着,我用Sharp Develop创建一个控制台应用程序。

大致思路:观察一下,Excel共有10条数据准备写入,

那我就把Word模板复制9份,接着使用代码循环写入就可以了。

001 准备工作

日常引用WordExcel, System.Runtime.InteropServices杀进程专用空间。

002 开始工作

  • 常规操作:声明、可见、定义、打开WordExcle。
  • 创建表格: 通过Mxr-2控制循环次数, Wdc.Tables.Count计算表格个数。
  • 数据写入: 通过Wdc.Tables[].Cell().Range.Text=Eap.Worksheets[].Cells().value.ToString()实现数据写入。

003 扫尾工作

通过定义Kill方法,调用Kill方法实现Excel进程终结。

下面是源码贴图,如果你也想深入学习,回复 源码 获得源代码供你参考。

———— The End ————

0 人点赞