-
问题内容:用Excel打开DBF文件
- 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=5102169
- 所属论坛:VFP
审核组:其他数据库开发
- 提问者:lilin_ustc
解决者:apple_8180
- 感谢:apple_8180
- 关键字:其他数据库开发 VFP 字节 生成 格式 识别 文件 修改 打开 excel foxpro dbf
- 答案:
我用VFP6.0生成了几个自由表并插入了数据,
然后用Excel方式打开,报"不能识别的文件格式",(用VFP能直接打开),
请问是什么原因?
用Foxpro生成的文件可以直接用excel打开.
我的环境是winxp, 使用excel2003
---------------------------------------------------------------
用Excel打开DBF文件
虽然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
这样就很轻松地完成了修改。
如果你要修改某个表文件的话,要做的就是修改上述两个绝对路径。
----------------------------------------
如果有VFP,也可以这样:
1、进入VFP
USE TT
COPY TO NEWTT TYPE FOX2X
2、将自动升级打开,让OFFICE2003升级。
- 评价:
给朵鲜花(67)
扔个鸡蛋(25)