CSDN=>FAQ=>FAQ 展示
  • 问题内容:用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)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo