迈克尔·法斯宾德裸鸟:vfp导入XLS文件到DBF表中

来源:百度文库 编辑:高校问答 时间:2024/05/02 04:28:32
我用VFP制作一个程序可以导入XLS文件处理的!~

我想用的效果是按下这个按钮可以打开对话框选择想导入的XLS文件 然后此XLS文件的数据就可以到VFP的DBF表中了!~

请问这样怎样可以实现呢!?~谢谢!?~代码是什么呢!?~

* 打开文件对话框, 注意:此处得先引入一个文件对话框的控件
THISFORM.CtlComm.FILTER = "EXCEL文件|*.XLS"
THISFORM.CtlComm.SHOWOPEN()

*导入文件
sFileName = THISFORM.CtlComm.FILENAME
IMPORT FROM sFileName XLS

*拷贝为DBF文件.
COPY TO AAA.DBF

可以实现,如:IMPORT FROM D:\DB20050629.XLS TYPE XL5 SHEET ""

不过建议你先把xls存成dbf,因为xls版本很多,非要直接IMPORT,参考:

IMPORT 命令

请参阅

从外部文件导入数据,创建一个 Visual FoxPro 新表。
语法

IMPORT FROM FileName
[TYPE] FW2 | MOD | PDOX | RPD
| WK1 | WK3 | WKS | WR1 | WRK | XLS
| XL5 [SHEET cSheetName]
[AS nCodePage]

参数

FileName

指定导入数据的文件名。如果不包含文件扩展名,则使用默认扩展名。

TYPE

关键字 TYPE 是可选的,但 IMPORT 命令中必须包含以下某种文件类型。

文件类型 说明

FW2 包含 FW2 表示要导入由 Framework II 创建的 FW2 型文件。
MOD 包含 MOD 表示要导入由 Microsoft Multiplan 4.0 创建的 MOD 型文件。
PDOX 包含 PDOX 可导入 Paradox 文件,要导入 Borland 公司的 Paradox 3.5 和 4.0 中的数据库文件,可以包含 PDOX。
RPD 包含 RPD 可导入由 RapidFile 创建的 RPD 型文件。
WK1 | WK3 | WKS 包含 WK1 可以从 Lotus 1-2-3 的电子表格中导入数据。电子表格中的列变为表中的字段,行变为表中的记录。Lotus 1-2-3 2.X 创建的电子表格以 WK1 为扩展名;Lotus 1-2-3 3.X 创建的电子表格以 WK3 为扩展名;Lotus 1-2-3 1-A 创建的电子表格以 WKS 为扩展名。
WR1 | WRK 包含 WR1 可由 Lotus Symphony 电子表格导入数据。电子表格中的列变为表中的字段,行变为表中的记录。Symphony 1.10 产生的电子表格以 WR1 为扩展名,Symphony 1.1 产生的电子表格以 .WRK 为扩展名。
XLS 包含 XLS 可从 Microsoft Excel 2.0、3.0 和 4.0 的工作表中导入数据。工作表中的列变为表中的字段,行变为表中的记录。Microsoft Excel 创建的工作表文件以 .XLS 为扩展名。
XL5 [SHEET cSheetName] 包含 XL5 可以从 Microsoft Excel 5.0 中导入数据。工作表中的列变为表中的字段,行变为表中的记录。Microsoft Excel 创建的工作表文件以 .XLS 为扩展名。如果省略了 SHEET 子句,则 Visual FoxPro 从 SHEET1 中导入数据。若要从某一指定工作表中导入数据,就应包含关键字 SHEET,并用参数 cSheetName 来指定工作表的名称。

AS nCodePage

指定导入文件的代码页。Visual FoxPro 复制导入文件的内容,并且在复制同时,把数据自动转换成当前 Visual FoxPro 代码页。
如果 Visual FoxPro 不支持指定的 nCodePage 的值,会产生错误信息。也可以使用获取 nCodePage 的 GETCP( ) 函数来显示“代码页”对话框,并在对话框中指定一个代码页。
如果省略了 AS nCodePage,而 Visual FoxPro 不能决定导入文件的代码页,Visual FoxPro 会复制导入文件的内容,而且在复制的同时把数据自动转换成当前的 Visual FoxPro 代码页;如果省略了 AS nCodePage 子句而 Visual FoxPro 可以决定导入文件的代码页,则 Visual FoxPro 会自动将导入文件中的数据从数据代码页转换成当前的 Visual FoxPro 代码页。使用 CPCURRENT( ) 可以确定当前的 Visual FoxPro 代码页。

如果 nCodePage 的值为 0,Visual FoxPro 假定导入文件的代码页即为当前的 Visual FoxPro 代码页,并且不进行代码页转换。

说明
大部分软件包以自己可以使用的文件格式存储数据,Visual FoxPro 不能直接打开它们。IMPORT 命令使用存储于 Visual FoxPro 不能直接读的文件格式中的数据创建新的 Visual FoxPro 表。
新创建的表与导入数据的文件名同名,但以 .DBF 为扩展名。