如何在VFP编制的程序中,导入EXCEL的数据!

dbLenis
博客专家认证
2004-10-11 12:30:49
在VFP编制的一个应用程序中(已经生成可执行文件),如何用命令按纽实现将EXCEL中的数据导入应用程序中进行操作?谢谢
...全文
1057 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2004-10-11
  • 打赏
  • 举报
回复
从外部文件导入数据,创建一个 Visual FoxPro 新表。

IMPORT FROM FileName [DATABASE DatabaseName [NAME LongTableName]]
[TYPE] FW2 | MOD | PDOX | RPD | WK1 | WK3 | WKS | WR1 | WRK | XLS
| XL5 [SHEET cSheetName] | XL8 [SHEET cSheetName] [AS nCodePage]
参数
FileName
指定导入数据的文件名。如果不包含文件扩展名,则使用默认扩展名。
DATABASE DatabaseName
创建的新表将加入到本处指定的数据库中。
NAME LongTableName
为新表指定一个长表名。长表名最多可包含 128 个字符。若不指定长表名,则使用 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-32.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 来指定工作表的名称。

XL8 [SHEET cSheetName] 包含 XL8 可以从 Microsoft Excel 97 中导入数据。工作表中的列变为表中的字段,行变为表中的记录。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 为扩展名
十豆三 2004-10-11
  • 打赏
  • 举报
回复
使用import命令,如:
IMPORT FROM 表1.xls TYPE xls
将表1.xls导入为表1.dbf
十豆三 2004-10-11
  • 打赏
  • 举报
回复
点击“文件”->导入->

类型选择:“Microsoft Excel 5.0 和 97 (XLS)”
来源于选择:你要导入的Excel文件
工作表:默认为Sheet1,如是你要把Excel文件中Sheet2中内容导过来,就选择“Sheet2”
->最后点击导入即可。


以上操作相当于如下命令操作:
IMPORT FROM 你的表.xls TYPE XL8 SHEET "Sheet2"
LAIYANGPJ 2004-10-11
  • 打赏
  • 举报
回复
IMPORT FROM AA TYPE XLS &&注意这个AA不要与你的数据库中的某一个表名相同.
一定要注意该命令生成的数据表名也为AA.DBF
如果你在主程序中用了SET SAFETY OFF而你的数据表中又有一个名字为AA的数据表,它会自动把这数据表的内容替换的.如果你的数据表AA事先属于你的一个数据库.那将会给出数据表AA已存在于你的数据库中.
也不知楼下有没有别的更好的办法.
LAIYANGPJ 2004-10-11
  • 打赏
  • 举报
回复
比喻说你的EXCEL中的文件名为:AA.XLS
IMPORT FROM AA TYPE XLS &&注意这个AA不要与你的数据库中的某一个表名相同.
USE AA
COPY TO ARRAY MYARRAY
OPEN DATA 你的数据库
USE 你的表名 &&表结构得与你的AA.XLS一样.
APPEND FROM ARRAY MYARRAY
然后你就可以处理这个表了.

2,746

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧