给你段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