怎样将EXCEL表格内容导入已建好的VF数据库

2024-11-17 16:29:22
推荐回答(1个)
回答1:

如果你的execel格式和vf数据库格式一致, 可以用如下命令:
append from excel文件名称 type xl5 fields 字段列表 for 导入条件

append from命令详细说明:
从一个文件中读入记录,追加到当前表的尾部。

APPEND FROM FileName | ?[FIELDS FieldList] [FOR lExpression]
[[TYPE] [DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB
| WITH CHARACTER Delimiter] | DIF | FW2 | MOD | PDOX | RPD |
SDF | SYLK | WK1 | WK3 | WKS | WR1 | WRK | CSV | XLS | XL5
[SHEET cSheetName] | XL8 [SHEET cSheetName]]] [AS nCodePage]

参数

FileName
指定从中读入记录的文件名。如果给出的文件名中不包含扩展名,则默认为 Visual FoxPro 表,扩展名为 .dbf 。如果是从 Visual
FoxPro 表中读入记录, 即使当前 SET DELETED 设置为 OFF
,表中标记为删除的记录也将添加到当前表中。

 
显示打开对话框,从中可以选择从哪个表中读入记录。

FIELDS
FieldList
指定为哪些字段添加数据。

注意:

不能从文本文件( 例如 CSV 和 SDF 文件) 向备注字段中添加。

FOR
lExpression
为当前选定表中每一条 lExpression 为真(.T.)
的记录追加新记录。直至达到当前选定表的末尾。如果省略 FOR ,则整个源文件记录都追加到当前表中。

TYPE
指定源文件类型。如果指定的源文件类型不是 Visual FoxPro 表,则必须指定文件类型,但不必包括 TYPE
关键字。您可以从各种类型文件中读入信息添加到表中,包括 ASCII
文本文件,在这些文件中可以指定字段分隔符。如果要追加的源文件扩展名不是默认的扩展名,源文件名必须包括文件扩展名。例如,Microsoft
Excel 工作表通常具有 .xls 扩展名。如果要追加的Microsoft Excel 工作表扩展名不是 .xls
,一定要指定扩展名。

注意:

When 如果要追加的记录来自工作表,工作表中的数据必须以主行序( row-major order)
而非主列序(column-major order) 存储。这样才能使追加的工作表数据符合表结构。

DELIMITED
指定源文件为分隔数据文件。 分割文件是 ASCII
文本文件,文件中每条记录以回车和换行符结尾。字段内容默认地由逗号分开
(
不能在逗号之前或之后包含多余的空格)
,字符字段值还需要用引号括上。例如:

复制代码

"Smith",9999999,"TELEPHONE"

所有分隔数据文件的扩展名默认为
.txt 数据的格式。如果日期格式正确,可以从分隔文件中导入日期数据。日期的默认格式为 mm/dd/yy
。您还可以选择加入世纪信息。Visual FoxPro 导入的数据,如 12/25/95
,不包含世纪信息,世纪信息的默认值为20世纪。日期分隔符可以为任意非数值字符,但不能使用分隔文件中字段的分隔符。如果其他一些日期格式与 SET
DATE 中可以使用的格式相匹配,应在使用 APPEND FROM 前发出 SET DATE
修改数据格式设置。要想检查日期格式是否能成功地导入,可使用 CTOD( ) 函数。如果 CTOD( )
函数接收此日期值,则日期数据就能正确地导入。

DELIMITED WITH
Delimiter
指定字符型字段由此字符标识,而不是引号。

DELIMITED WITH
BLANK
指定由空格符(spaces) 分隔字段,而不是逗号。

DELIMITED WITH TAB
指定由制表符
(TAB)
分隔字段,而不是逗号。

DELIMITED WITH CHARACTER
Delimiter
指定字段之间由给定的 Delimiter 分隔。如果 Delimiter 是分号
( 分号 Visual FoxPro 用于命令行的延续), 应用引号括起来。您也可以指定 BLANK 和
TAB 作为 Delimiter 关键字。WITH Delimiter 子句可与 WITH
CHARACTER 子句结合使用。例如,下面的命令从文本文件中添加记录,字符字段用下划线( _ ) 标识,而字段之间用星号(*)
分隔:

复制代码

APPEND FROM mytxt.txt DELIMITED WITH _ WITH CHARACTER *

DIF
选用 DIF 可从 VisiCalc .dif ( 数据交换格式) 文件中导入数据。矢量 (
列) 对应当前选定表的字段,元组( 行) 对应表的记录。DIF 文件的默认扩展名为
.dif 。

FW2
选用 FW2 可从由 Framework II 创建的文件中导入数据。FW2 文件的默认扩展名为
.fw2 。

MOD
选用 MOD 可从 Microsoft Multiplan 4.01 版本的文件中导入数据。MOD
文件由 Microsoft Multiplan 4.01 版本创建,默认扩展名为 .mod 。

PDOX
选用 PDOX 可从 Paradox 3.5 或 4.0
版本的数据库文件中导入数据。Paradox 文件名的默认扩展名为 .db 。

RPD
选用 RPD 可从 RapidFile 1.2 版本创建的文件中导入数据。RapidFile
文件名的默认扩展名为 .rpd 。

SDF
选用 SDF 可从系统数据格式(System Data Format) 文件中导入数据。SDF
文件是一种 ASCII 文本文件,记录有固定长度,并且以回车和换行符结尾。字段之间不分隔开。SDF文件的默认扩展名为 .txt
。从 SDF 文件到 Visual FoxPro 表时,有效的日期转换要求数据保存为 YYYYMMDD
格式。如果日期保存为不明确的格式,您应该映射日期列到一个适当宽度的字符列,这样您可以检查转换后的值来改正转换程序,以创建正确格式的日期数据。

SYLK
选用 SYLK 可从 SYLK (Symbolic Link) 交换格式文件中导入数据。SYLK
文件用于 Microsoft MultiPlan 中。SYLK 文件中的列对应 Visual FoxPro
表的字段,行对应表的记录。SYLK 文件没有扩展名。

WK1
选用 WK1 可从 Lotus 1-2-3 2.x
版本的电子表格中导入数据。电子表格的每列对应表的一个字段;每行对应表的一条记录。
Lotus 1-2-3 2.x
版本创建的电子表格扩展名为
.WK1 。

WK3
选用 WK3 可从 Lotus 1-2-3
的电子表格中导入数据。电子表格的每列对应表的一个字段;每行对应表一条记录。Lotus 1-2-3 3.x 版本创建的电子表格的扩展名为
.wk3 。.

WKS
选用 WKS 可从 Lotus 1-2-3 1-A
版本的电子表格中导入数据。电子表格的每列对应表的一个字段;每行对应表的一条记录。Lotus 1-2-3 1-A
版本创建的电子表格的扩展名为 .wks 。

WR1
选用 WR1 可从 Lotus Symphony 1.1 或 1.2
版本电子表格中导入数据。电子表格的每列对应表的一个字段;每行对应表的一条记录。Symphony 1.1 或 1.2
版本创建的电子表格的扩展名为 .wr1 。

WRK
选用 WRK 可从 Lotus Symphony 1.0
版本电子表格中导入数据。电子表格的每列对应表的一个字段;每行对应表的一条记录。 Symphony 1.0
版本创建的电子表格的扩展名为 .wrk 。

CSV
选用 CSV 可从一个各值之间用逗号分隔的文件中导入数据。一个 CSV
文件的第一行是字段名;当导入文件时,会忽略这个字段名。

XLS
选用 XLS 可从 Microsoft Excel
工作表中导入数据。工作表的每列对应表的一个字段,每行对应表的一条记录。由 Microsoft Excel 创建的工作表扩展名为
.xls 。

XL5
选用 XL5 可从 Microsoft Excel 5.0
版本中导入数据。工作表的每列对应表的一个字段;每行对应表的一条记录。由 Microsoft Excel 创建的工作表文件扩展名为
.xls 。如果省略 SHEET 子句,将从 Sheet1 中导入数据。为了导入指定工作表(sheet)
中的数据,需要包含 SHEET 关键字,并通过 cSheetName 指定工作表名。

XL8
选用 XL8 可从 Microsoft Excel 97
中导入数据。工作表的每列对应表的一个字段;每行对应表的一条记录。由 Microsoft Excel 创建的工作表文件扩展名为
.xls 。如果省略 SHEET 子句,将从 Sheet1 中导入数据。为了导入指定工作表(sheet)
中的数据,需要包含 SHEET 关键字,并通过 cSheetName 指定工作表的名称。