从高版本Excel文件到低版本DBASE数据库的转换

软件世界

笔者最近在税收执法资格考试人员的信息录入时遇到这样一个问题:由于税收执法资格考试管理软件是用DABASE关系数据库语言编写的,而大多数数据录入人员不熟悉DBASE数据库操作,但对Excel97电子表格操作非常熟练。由于Excel97电子表格具有此转换功能,因此,就让操作人员利用Excel97电子表格录入参考人员数据,然后进行转换。但转换时并不能直接将Excel电子表格转换成所需的数据库格式,经过反复实验,可按以下步骤进行;
1.所录入的Excel97电子表格文件中的第一行每列的列名应为要转换成的数据库字段名,该列名(即字段名)为英文字母或汉字,最好是英文列名,且每列的列名不能有重名,即必须按数据库的字段名和先后顺序录入,否则,转换将出现错误。
2.按上述要求录入好所有人员信息后,先保存一份Excel电子表格文件作为备用,接着在Excel97电子表格文件类型框中选择DBASE文件类型另存为一份数据库文件,用鼠标点击保存按钮,屏幕出现提示时,选择“是”即可。此时仅保存了一个数据库结构。
3.接着将第一行列名(即字段名)删除,再在Excel97电子表格保存类型框中选择“文本文件(制表分隔符)”类型另存为一份文本文件,用鼠标点击保存按钮,屏幕出现提示时,选择“是”即可。此时则保存了一个带制表分隔符的文本文件。
4.退出Excel97电子表格,运行FOXPRO系统,在打开FOXPRO命令窗口内输入以下名令行:
USE <盘符><路径><第2步保存的数据库文件名>
APPEND FROM <盘符><路径><第3步保存的文本文件名> DELI WITH TAB
以上两行内容每行输入完后,按回车键确认。则USE命令把第2步保存的数据库文件打开;APPEND命令把第3步保存的文本文件内容追加到第2步的数据库文件中。
5.接着第4步将含有内容的数据库通过FOXPRO系统中“文件”菜单中的“导出”命令项保存为FOXBASE格式数据库即可。此时Excel文件向DBASE数据库文件转换完毕。
注意:在做第1步时,一定要将表格的列宽用Excel97“格式”菜单中的“列”项中的“最适合的列宽”命令进行设定,否则,在转换成数据库结构时可能会造成字段宽度不够,而使追加进来文本文件内容不完整。
以上操作是在Excel97、Excel2000电子表格;FOXPRO5.0、FOXPRO6.0环境下进行的。