问题
有几十个或者几百个格式一致、内容不同的WORD文档。现要求从所有文档中提取指定的值,存放到Excel表中去。有多少个WORD文档,生成的Excel表的正文就相应地包含多少行数据。
手工逐个打开WORD文件后取值显然是不现实的,效率低下而且出错率高。有什么办法可以用最少的时间、最少的步骤完成需求呢?
例如图1所示文件夹中有13个WORD格式的成绩表,每个成绩表都采用图2的格式:
图1 待取值的13个成绩表
图2 蓝凤凰的个人成绩
要求整理成图3的结果:
图3 整理后的综合成绩表
方案
根据个人经验,推存使用“WORD精灵”,不管几十个还是几百个文档,都可以一键导出到Excel中,工工整整地摆放在您的面前。
步骤
A)安装精灵
安装“Word精灵”后,在Word的界面中可以看到“导出到Excel”菜单,其子菜单包含“多文档到Excel”、“单文档到Excel”、“导出带下划线的Word内容到Excel”、“按参考位置取值到Excel”以及“按位置和表格取值到Excel”等子菜单。具体菜单位置见图4:
图4 Word精灵界面
B)制作模板
导出WORD前必须制做一个模板,制做模板的目的是告知WORD精灵哪些单元格需要取值。
具体的做法是:随意复制一个成绩表文档,将其命名为“模板”。然后打开模板文件,删除表格中的所有字符(但不能删除任何一个单元格)。最后在需要取值的单元格中随意写几个字作为标示,表示此单元格的值需要取出到Excel中去,如果单元格空白则程序运行时会忽略该单元格。
标示单元格尽量采用有意义的值,例如“姓名”、“联系方式”等,而非采用“A”、“B”、“C”,尽管采用“A”、“B”、“C”也可以顺利取值。
标示好之后的模板见图5:
图5 模板示意图
C)批量取值
做好模板以后,单击菜单“多文档到Excel(备用)”,然后选择所有要取值的WORD成绩表,效果见图6:
图6 选择所有要导出的WORD文档
单击按钮“我选好了”,几秒钟以后程序会将所有WORD文件中指定的值提取到Excel中。
程序执行完时,会弹出以下提示:
图7 提示程序执行时长
关闭提示以后,可在Excel中看到以下结果:
图8 取值结果
备注
A)菜单“多文档到Excel”和“多文档到Excel(备用)”都可以从多个WORD文档中取值到Excel,前者仅支单个表格,后者既支持单个表格也支持多个表格嵌套的WORD文档。平时尽量用后者即可。
B)前面演示的取值目标都在表格中,如果不在表格中也可以提取吗?
例如图9中,每一个段落的冒号之后的字符都需提取出来,“嘉宾”与“发言”之间的姓名也需要提取出来,有没有什么办法取值?
图9 按位置取值示意图
当然可以的,WORD精灵中的“按参考位置取值到Excel”菜单即应此需求而生。
此外,如果WORD文件中既有段落取值也有表格取值,WORD同样可以应付。
演示
看前面的文字配图,您可能觉得枯燥,此处提供视频演示,让各位同学更快地学会操作。
视频中演示了各种取值方式,请阅览完整。
视频加载中...↑请单击播放↑
补充
实际上还有一种情况,要求提取WORD文件中所有带下划线的字符串,见图10所示。
针对此种情况下,下篇文章再介绍,敬请关注。
图10 要求提取带下划线的所有字符
从WORD文件中取值到Excel,最多的应用场景是整理个人简历。