前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >004 C# 将Word表格数据批量写入Excel

004 C# 将Word表格数据批量写入Excel

原创
作者头像
职场编码
修改2020-05-25 10:36:52
2.7K0
修改2020-05-25 10:36:52
举报
文章被收录于专栏:Ruby办公自动化Ruby办公自动化
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

Hi,How are you doing? 我是职场编码,很高兴为你分享经验心得。

距离上次发文,已有一个月时间;

这一个月,我一直在考虑继续研究C#,还是拥抱Python;

学编程自然是为了辅助工作,达到高效办公目的;

据我所知,非专业人士玩编程,顶多实现重复工作自动化;

即套用固定格式模板,实现数据填入汇总自动化,只是每月数据不同罢了;

像一键生成10w+,自动绘制爆款海报等这类黑科技,并不是我们所能涉足的领域;

对比C#和Python,一静一动,一编译一解释;

除此之外,前者使用{ }区分代码块,而Python使用缩进区分;

现在Python火的一塌糊涂,竞争也异常激烈;

经过综合分析考虑,我不想随大流,我选择继续研究C#;

不论你是学习哪种编程语言,真心希望这篇文章能给你带来实际帮助。

001 安装IDE编辑器

与Visual Studio2013相比,我今天推荐的这款IDE性价比更高;

SharpDevelop 这个轻型的开发工具专门用于C#编程开发;

不过可惜的是,它的最新版本是2015年7月4日发布的;

据粉丝反映,不少公司电脑配置很低,无法快速运行Visual Studio;

我们掌握它,用于实现重复工作自动化已经足够了。

回复 软件,获得免费安装包下载链接。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

进入主界面,我们看到它和Vs几乎一样;

这也不用奇怪,这个IDE本身就是用C#语言编写的;

这足以看出C#在开发桌面应用方面的强大。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

设置界面语言为中文:

步骤:工具—选项—用户界面语言—中文。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

002 配置项目属性

自动化办公大多使用脚本运行,无需界面开发经验;

步骤:文件—新建—解决方案—新建控制台程序,在项目管理器右击项目名称—属性,将输出类型设置为Windows应用程序;

这样设置的目的是为了不显示Cmd控制台小黑框。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

配置高亮预设,是为了方便我们编码过程中保护眼睛,减少视疲劳;

步骤:工具—选项—文本编辑器—高亮—C#—导入高亮文件—高亮预设.sdsettings。

高亮文件预设文件,请回复 软件 获取。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

003 编码前准备

下面,我们一起来看一下,如何将Word表格数据写入Excel。

  • 准备素材文件

3个Word文件(包含9张Word表格)、Excel空白文件。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel
  • 明确编码目标

将每个Word文件中对应三张表格,共计9条数据一次性填入Excel高亮区域;

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

由Word表格和Excel表格遵循“先行后列”原理;

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

可得,第一行4个格子地址分别是:

(1,1)(1,2)(1,3)(1,4);

第二行4个格子地址分别是:

(2,1)(2,2)(2,3)(2,4);

第三行2个格子地址分别是:

(3,1)(3,2)。

  • 思路梳理

自然语言描述:依次循环打开文件夹里3个Word文件;

将打开后文件中表格数据依次读入数组,再将数组数据一次性写入Excel。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

004 正式编码

  • 引用命名空间

添加引用

步骤:项目—添加引用—Word—Excel。

设置模式

步骤:右击Excel/Word引用—属性—嵌入互操作类型“正确”。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

编码整理

  • 声明应用程序
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

声明Word/Excel应用,设置可见模式。

  • 文件提取准备
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

设置待提取目录;

准备200行5列数组,数组行数初始化。

  • 提取文件数据
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

通过Documents.Open()打开Word文件/文档;

利用Tables.Count计算表格个数;

通过Tables.Cell().Range.Text读入数组;

利用WorksheetFunction.Clean()清理无关格式;

通过Close()关闭Word文件/文档。

Word对象模型参考:应用—文件/文档—表格; Application—Document(s)—Table(s)。

  • 写入目标文件
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

利用AppDomain.CurrentDomain.BaseDirectory获取控制台项目启动目录,即Debug目录;

通过Workbooks.Open()打开Excel文件/工作簿;

利用Worksheets.Range().Resize().value=Arr一次性写入Excel;

通过调用Eapsht.Kill()结束Excel进程。

Excel对象模型参考:应用—文件/工作簿—工作表; Application—Workbook(s)—Worksheet(s)。

  • 关闭应用进程
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

引用System.Runtime.InteropServices空间;

调用User32.dll

定义可外部调用的GetWindowThreadProcessId()方法;

定义Kill()方法;

详细实现方式请参照上图。

C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel
C# 将Word表格数据批量写入Excel

最后,贴一下全码,请回复 源码,获取源文件。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 001 安装IDE编辑器
  • 002 配置项目属性
  • 003 编码前准备
  • 004 正式编码
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档