利用word自身功能提取表格数据

时间:2022-06-27 10:31:53

利用word自身功能提取表格数据

我们经常会遇到一些合并之后的表格式混合文档,如图1所示,但有时会需要对其中的数据进行还原,也就是将这些表格中的信息还原回类似于数据库形式的表格,由于文档中有很多这样的表格,表格与表格之间有许多文字,拖拽滚动条很难定位。在不借助VBA代码也不借助其他程序(例如Excel)的前提下,可否利用Word本身的功能实现上述要求呢?我们可以利用Word的查找和替换解决这一问题:

方法一:常规的逆序处理法

第1步:获得纯表格

按下“Ctrl+H”组合键,打开“查找和替换”对话框,切换到“查找”选项卡,查找“[一-]*册^13”,这里的“[一-]”表示所有中文汉字,在“阅读突出显示”列表下选择“全部突出显示”,这样就可突出显示所有查找到的内容,关闭查找对话框,按下Delete键,执行之后即可删除除表格之外的所有内容;此时你会发现每两个表格之间还存在一个多余的段落标记,选择任意一个表格间的段落标记,在“编辑”功能组依次选择“选择一选择格式相似的文本”即可选中所有表格间的段落标记,按下Delete键删除即可,效果如图2所示,此时看到的就只是一个合并在一起的表格。

第2步:获得无格式文本

按下“Ctrl+A”组合键全选所有内容,剪切之后选择“选择性粘贴一无格式文本”,当然也可以打开一个新建文档窗口进行操作。

第3步:表格与文本的多次转换

按下“CtrI+A”组合键全选所有内容,切换到“插入”选项卡,在“表格”功能组依次选择“表格一文本转换成表格”,列数设置为“1”,文字分隔位置选择“制表符”,此时可以获得1列形式的一个表格。切换到“布局”选项卡,在“数据”功能组选择“转换为文本”,文字分隔符选择“段落标记”,执行之后可以得到图3所示的表格效果。

第4步:删除奇数行

很显然,上述文本存在许多重复的内容,需要将其删除。切换到“替换”选项卡,查找“(*)(^13)(*)(^13)”,替换为“\3^p”,表示删除奇数行,保留偶数行,效果如图4所示,这就是我们所需要的内容。

完成上述步骤之后,接下来的步骤就简单多了,切换到“插入”选项卡,选择“表格一文本转换成表格”,选择“12”列,这样就可以得到所有的数据,为了保证显示的效果,建议将纸张方向设置为“横向”并作适当调整,当然此时我们得到的是一个没有表头的表格,此时请手工添加表头,最终效果如图5所示。

补充:上述的第3步、第4步也可以合并为一个步骤,查找“^t”替换为“^p”即可。

方法二:利用表格样式正序处理

如果使用的是Word 2003,也可以利用表格样式处理:

按下“Ctrl+A”组合键,全选所有内容,按下“CtrI+H”组合键,打开“查找和替换”对话框,切换到“查找”选项卡,查找“姓名”,也可以查找“性别”作为关键字,查找之后关闭对话框。

在“格式”菜单下依次选择“格式与样式一所有样式”,在这里选择“网络型6”,其实只要是表格型的样式均可,通过表格样式,可以将这部分的文字所在的表格都被同时定义为相同的样式,如果表格外也有查找的关键词,并不会被定义表格样式;选择“使用中的样式”,在这里选择“网络型6”,选择“选择所有65个实例”(这里的数字可能有所不同),这样就可以选中文档中使用同一样式的所有表格b 。

打开一个新建文档,选择“选择性粘贴无格式文本”,全选所有内容,接下来的步骤与方法一就完全相同了。

上一篇:对时钟缓冲器数据手册中附加抖动性能的理解 下一篇:基于双桥串联谐振变换器的IPOS系统设计