文件格式转换功能的妙用

Author: 陈广宇 Date: 2000年 第6期

  电脑在现代办公中的使用已有十几年的历史,用户手中积累的数据越来越多,随着各种软件的更新换代,这些数据的版本、格式越来越复杂。有时候相同的数据由于文件格式要求的不同,不得不再次重复输入,浪费了大量的人力物力。其实,有时候动一下脑筋,充分利用各软件的文件转换功能可以大幅减少此类无谓的重复工作。下面通过一个WPS→DBF的案例,展示一下文件格式转换的妙用。
  有一个海员资料申报表是早年用DOS版WPS编写的,由于一直使用良好,没有用FoxPro等数据库软件加以整理。最近国家为了加强对海员资料的管理,要求各有关部门将属下海员的资料以带索引的数据库文件形式(DBF)上报,时间非常紧迫。虽然已配发有海员资料录入程序,但几百个海员的资料,短时间内准确无误地输入数据库,其工作量太大了,没办法只好走捷径,最后通过Office 2000、Visual FoxPro 5.0等软件用不到两个小时就准确地完成了原来要一个星期才能完成的任务。其大概思路是:用Word 2000将WPS文件格式转换成DOC文件格式,再利用Office 2000各组件之间强大的兼容性,将数据输入Excel 2000,然后用Excel 2000的文件输出功能将数据保存为数据库文件格式DBF,最后用Visual FoxPro 5.0整理数据库并重新生成索引文件。具体操作步骤如下(假设WPS文件名为HY.WPS,DBF文件名为A-CREW.DBF,索引文件名为A-CREW.IDX,其他中间文件名为HY.*):
  1.由于Word 2000能直接输入WPS 2000以前的各版本WPS文件,因此用Word 2000打开HY.WPS,Word会自动将WPS的表格转换成Word的表格,这为下面提取表格中的数据提供了极大的方便。
  2.为便于后续操作,将该表格整理一下。由于原来WPS的表格是分页的,表头表尾包含大量与海员资料无关的文字,必须将其删除,删除后Word会自动将不同页的表格融合为一个跨越多个页面的大表,然后手工调整一下各页表格拼接处的表格线,使其上下对齐。以HY.DOC为文件名存盘,保留初步战果。
  3.用全选命令选择整个大表,并复制到剪辑板,然后打开Excel 2000,用选择性粘贴命令中的文本方式将数据粘贴入Excel中。为保险起见,以HY.XLS为文件名存盘。
  4.为了使输出的数据库文件符合国家标准的要求,必须对这些数据作一些调整。首先用Excel 2000打开海员录入程序在硬盘产生的空白数据库文件A-CREW.DBF,将其表头复制,并粘贴到HY.XLS文件的第一行。其实DBF文件的表头,就是数据库结构的字段名列表。
  5.进一步整理数据,为最后的转换工作做好准备。按表头要求的顺序调整各列数据的位置使其内容与要求一致;将整个表的单元格数字格式改为“自定义—0”,使被Excel自动转换成科学记数法的数据恢复原样;用替换功能将多余的空格去除;将一些数据头部被Excel自动去除的0补上。以HY.XLS为文件名存盘,并用“另存为”命令保存为HY.DBF。
  这样就基本完成了格式转换工作,接着用FoxPro进一步整理数据库以符合国家标准的要求。
  6.用Visual FoxPro 5.0打开HY.DBF文件,以浏览方式显示数据库,去除数字字段开头多余的空格。打开“表设计器”对话框,按国家标准调整一下字段宽度和数据类型,并以A-CREW.DBF为文件名存盘,用USE命令关闭数据库。切记:“去除数字字段开头多余的空格”这一步是不能省略的,否则调整字段宽度时将由于数字被空格代替而导致数据出错。
  7.用Foxpro打开A-CREW.IDX索引文件,Foxpro将自动要求打开A-CREW.DBF文件,以浏览方式对照一下原始数据,如没有错漏则执行REINDEX命令重新生成索引文件。
  8.到此整个转换工作大功告成,为保证数据的准确无误,下面是用海员录入程序加以确认。
    运行海员录入程序,自动加载A-CREW.DBF,上、下翻页查看内容是否正确。如第7步没有重新生成索引文件,将无法翻看。
  可见,善用各软件的文件格式转换功能,可以大幅度提高工作效率,减少人为输入的错误。希望上述内容能起到抛砖引玉的作用,聪明的读者一定会举一反三的。各位如有兴趣可与笔者联系,共同切磋。本人E-mail地址:gdfscgy@21cn.com