虽然Excel已经成为最常用的数据表格软件,不过一直沿用至今的DBF格式类数据表格文件仍然在广泛使用。而且Excel和部分DBF格式的文件不兼容,Excel在打开它们时会出现“不能识别的文件格式”错误。如何解决这个问题呢? 简单地说,制作DBF文件的软件经历了Dbase、Foxbase、Foxpro、Visual Foxpro这四个阶段,尽管这些软件产生的文件的扩展名都是DBF,但是其内部格式并不相同(格式标志是文件的第一个字节),总共有十一种之多。在Visual Foxpro 3.0之前,DBF文件称为数据库,但自Visual Foxpro 3.0开始,DBF文件就称为数据表文件,其文件格式标志为30或者31(十六进制)。Excel不能正确打开的DBF文件就是后者。 笔者在实践中发现,Excel在识别DBF文件的具体格式时只辨认第一个字节,所以我们只要将文件格式标为30或者31的改为03(十六进制),Excel就能够正确打开DBF文件。这里还有一点需要说明,上述修改方法仅适用于不包括备注型/通用型等复杂数据类型的DBF数据表文件。如果DBF数据表文件包含复杂数据类型,修改后的文件在Excel中打开时可能会产生数据丢失现象。 使用WinHex等十六进制编辑软件可以很容易地对文件进行修改,没有这类软件也可以使用Windows系统所含的一个小程序:Debug。如果你感觉到使用这个小工具修改有点儿困难,可以参照如下方法: 假定要修改 C:/database/fox 下的表文件 student.dbf。 首先,利用“记事本”生成纯文本文件modify.txt(存储在C:/database目录下),文件内容如下: n C:/database/fox/student.dbf l e 100 03 w q 其次,进入MS-DOS方式(Windows 2000及其以后版本中的命令提示符),在命令提示符下键入如下命令: debug < c:/database/modify.txt 这样就很轻松地完成了修改。 如果你要修改某个表文件的话,要做的就是修改上述两个绝对路径。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn