006-C-自动生成信息卡

51次阅读

共计 1439 个字符,预计需要花费 4 分钟才能阅读完成。

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 里建立一张信息卡模板,放在文件夹~c003\bin\Debug\。

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

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

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

001 准备工作

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

002 开始工作

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

003 扫尾工作

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

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

———— The End ————

正文完
 0