怎样将dbf文件转xls文件

如题所述

1 将一个dbf文件转成一个xls文件

  方法一.Excel直接调出dbf文件,通过“另存为”保存成xls文件。

  具体操作如下:

  1)启动Microsoft Excel

  2)打开dbf文件:选定“文件”菜单,选择“打开”命令,在打开对话框窗口的“文件类型”下拉列表中,选取“dBase文件(*.dbf)”在“查找范围”中指定盘符和文件夹,选中要打开的dbf文件,单击“打开”按钮。

  3)将文件另存为xls文件:选定“文件”菜单,选择“另存为”命令,在另存为对话框窗口的“保存类型”下拉列表中,选取“microsoft excel 工作簿(*.xls)”,在“文件名”文本框中输入文件名,单击“保存”按钮。

注意:如果在打开dbf文件时,出现“不可识别的文件格式”的提示,如图一所示,说明此dbf文件版本较高,无法正常转换(一般在foxBASE、FoxPro程序下产生的dbf文件用此方法能正常转换),应另选其它转换方法。

图一(见下图)

方法二.用Visual Foxpro提供的“导出”功能,将dbf文件转换成xls文件

具体操作如下:

  1)启动Visual Foxpro程序

  2)选定“文件”菜单,选择“导出”命令,在导出对话框窗口“类型”下拉列表中,选取“microsoft excel 5.0(xls)”或者“microsoft excel 2.0,3.0,and 4.0(xls)”;在“来源于”文本框中指明要转化的dbf文件的路径及文件名;在“到”文本框中指明最终转化成xls文件所存放的路径和文件名;如只想把dbf文件中符合某些条件的数据转换成xls数据,可点击“选项”按钮,在出现的“导出选项”对话框中进行相应的设置,然后点击“确定”按钮。

 方法三.利用copy命令进行数据的转化

  具体操作如下:

  1)启动Visual Foxpro程序

  2)在系统的命令窗口输入如下两条命令:

   use <表文件名>

   copy to <目标文件名>.xls type xls

  此方法也可以使用范围或条件子句只将满足条件的数据转换成Excel文件。

2 用编程方法将多个dbf文件转成一个xls文件中的不同工作表

具体操作如下:

1)启动Visual Foxpro程序

2)在系统的命令窗口中输入如下命令:

  modify command

3)在打开的文本编辑窗口中输入以下代码:

       c=0

          do whil .t.

                  bm=space(20)

                  clear

                  @2,10 say “请输入需转化的表名(带路径和扩展名):” get bm

                   read

                   bm=alltrim(bm)

                   if file ("&bm")

                          use &bm

                           if c=0

                                    exc=createobject(“excel.application”)

                                    exc.workbooks.add

                           endi 

                           if c>=3

                              exc.sheets.add

                           endi

                           c=c+1

                           sh="sheet"+str(c,1)

                           exc.worksheets(“&sh”).activate

                           exc.visible=.t.

                           zds=fcount()

                           for m=1 to zds

                                 exc.cells(1,m).value=field(m)

                           endfor

                           jls=reccount()

                           for n=1 to jls

                                   go n

                                   scatter to sj memo

                                   for x=1 to zds

                                       exc.cells(n+1,x).value=sj(x)

                                   endfor

                            endfor

                           use

                         exc.visible=.f.

                   else

                         wait “该文件不存在!” windows at 20,50 timeout 2

                   endif

                   ss=messagebox(“还要继续转化吗?”,36,“转化文件”)

                   if ss=7

                         if c>0

                            exc.visible=.t.

                         endi

                    exit

                   endi

         enddo

将以上的代码保存为一个程序文件,然后在Visual Foxpro命令窗口中键入如下命令执行此程序:

     do <程序文件名>

以上程序在Visual Foxpro6.0上调试通过,但如果数据表中含有“通用型”字段会出现程序错误信息框提示,只要点击“忽略”按钮即可。

温馨提示:答案为网友推荐,仅供参考