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上调试通过,但如果数据表中含有“通用型”字段会出现程序错误信息框提示,只要点击“忽略”按钮即可。