excel表格导入vfp没有更好的办法,但是可以通过读取excel来实现。
以下是vfp直接读取EXCEL文件的示例:
M_File=GETFILE('xls','订单文件')
IF M_File=""
=MESSAGEBOX("请选择待导入的收订单文件!",0+48,"提示")
RETURN
ELSE
IF JUSTEXT(M_FILE)#"XLS" &&获得文件扩展名
=MESSAGEBOX("您选择的不是EXCEL文档!",0+48,"提示")
RETURN
ENDIF
ENDIF
USE 图书订单表
ZAP
myexcel=createobject('excel.application') &&创建一个对象
myexcel.visible=.f.&&不可见
bookexcel=myexcel.workbooks.open(M_File) &&打开指定文件
o_SheetName=myexcel.application.ActiveSheet.Name &&获取当前激活工作表的名称
UsedRange =bookexcel.worksheets(o_SheetName).UsedRange &&返回工作表中可使用的区域,UsedRange表的属性
o_rows=UsedRange.rows.count &&汇总行
o_cols=UsedRange.columns.count &&汇总列
IF o_rows<=1
=MESSAGEBOX("待导入数据行数太少,请检查!",0+16,"提示")
ELSE
FOR i=2 TO o_rows
m1=myexcel.cells(i,1).value &&书号
m2=myexcel.cells(i,2).value &&书名
m3=myexcel.cells(i,3).value &&出版社
m4=myexcel.cells(i,4).value &&作者
m5=myexcel.cells(i,5).value &&定价
m6=myexcel.cells(i,6).value &&数量
APPEND BLANK
REPLACE 书号 WITH m1,书名 WITH m2,出版社 WITH m3,作者 WITH m4,定价 WITH m5,数量 WITH m6
ENDFOR
ENDIF
myexcel.workbooks.close &&关闭工作区
myexcel.quit &&关闭excel
brow
选定excel里面要转化的数据的区域,点另存为,转化成DBF4的格式,然后关闭excel,再用visual foxpro6.0打开DBF4的格式的这个文件就可以了
看下数据格式是否有异常或转成text格式再导入
进入vfp,打开表
append from XX.xls XLS
关键是append后面的【xls】参数