| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1747 人关注过本帖
标题:有个excel表一万七千多行,怎么才能导入到VFP里?
只看楼主 加入收藏
lucanse
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-8-3
结帖率:0
收藏
已结贴  问题点数:10 回复次数:25 
有个excel表一万七千多行,怎么才能导入到VFP里?
转成5.0/95格式的话只能装16385行
转成2000格式用append FROM 导的话又不支持
除了把表分成两部分外
还有什么办法
搜索更多相关主题的帖子: excel 
2013-01-10 12:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9805
专家分:26913
注 册:2012-2-5
收藏
得分:1 
手工将Excel转换为Dbf的方法
1.选中数据要转换的区域(从第一行开始,转换后,第一行即为数据表的字段名),
2.点击[文件]下的[另存为]选项,
3.在弹出的[另存为]对话框中,选择[保存类型]:DBF 4 (dBASE IV),点[保存],
4.最后关闭Excel(否则生成的DBF文件无法打开)

坚守VFP最后的阵地
2013-01-10 12:52
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9805
专家分:26913
注 册:2012-2-5
收藏
得分:0 
以下是引用lucanse在2013-1-10 12:36:28的发言:

转成5.0/95格式的话只能装16385行
转成2000格式用append FROM 导的话又不支持
除了把表分成两部分外
还有什么办法
是将EXCEL转换为DBF,还是将DBF转换为EXCEL

坚守VFP最后的阵地
2013-01-10 12:53
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
手工代码导入 应该没啥问题吧

DO IT YOURSELF !
2013-01-10 12:56
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11774
专家分:43421
注 册:2006-5-13
收藏
得分:1 
以下是引用wp231957在2013-1-10 12:56:07的发言:

手工代码导入 应该没啥问题吧
编制程序导入,再多的行都没有问题。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-01-10 13:28
lucanse
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-8-3
收藏
得分:0 
以下是引用sdta在2013-1-10 12:52:13的发言:

手工将Excel转换为Dbf的方法
1.选中数据要转换的区域(从第一行开始,转换后,第一行即为数据表的字段名),
2.点击[文件]下的[另存为]选项,
3.在弹出的[另存为]对话框中,选择[保存类型]:DBF 4 (dBASE IV),点[保存],
4.最后关闭Excel(否则生成的DBF文件无法打开)
有没有直接用代码直接导入到dbf里的方法
现在用的是这样的代码
mbyd.xls小于16385的时候还可以
当大于的时候就遇到提出的这个问题了
程序代码:
qw1="北京"
qw2="上海"
qw3="天津"
qw4="重庆"

use mbyd
zap
append FROM D:\费用\数据\&qw1\mbyd.xls TYPE XL5 SHEET ""
close all


2013-01-10 13:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9805
专家分:26913
注 册:2012-2-5
收藏
得分:0 
程序代码:
*----作者:VFP
*----将该内容复制到EXCELTODBF.PRG文件中,放置到当前路径
*----调用方法与VFP函数一样
*----方法1:?EXCELTODBF()
*----方法2:=EXCELTODBF()
*----方法3:EXCELTODBF()
*------------------------------------------------------------------
FILENAME = GETFILE("XLS","文件名","确定",0,"请选择EXCEL文件")
IF EMPTY(FILENAME)
   MESSAGEBOX("未选择(未找到需要的) EXCEL 文件",64,"系统信息")
   RETURN
ENDIF
IF USED(JUSTSTEM(FILENAME))
   USE  IN SELECT(JUSTSTEM(FILENAME))
ENDIF
*---- 下面这段代码可用后面的代码替换:DBFNAME = FORCEEXT(FILENAME,"DBF"),见WITH OEXCEL 注释处
*---- 优点在于:1-能判断要保存的DBF文件是否有重名;
*---- 2-生成的 DBF 文件可以换名保存,也可以更换保存路径。
*------------------------------------------------------------------
DBFNAME = PUTFILE("保存为(&N):",JUSTSTEM(FILENAME)+".DBF","DBF")
IF EMPTY(DBFNAME)
   MESSAGEBOX(" DBF 文件名不能为空",64,"系统信息")
   RETURN
ENDIF
*------------------------------------------------------------------
OEXCEL=CREATEOBJECT("EXCEL.APPLICATION")       && 创建 EXCEL
WAIT "正在转换 "+FILENAME WINDOW TIMEOUT 0 NOWAIT AT SROWS()/2,(SCOLS()-LEN("正在转换 "+FILENAME))/2
WITH OEXCEL
   .WORKBOOKS.OPEN(FILENAME)                   && 在 EXCEL 中打开指定的工作簿
   .DISPLAYALERTS=.F.                          && 关闭提示信息
   .WORKSHEETS(1).SELECT                       && 选中 SHETT1 为当前工作表(1 可改为 "SHEET1")
   R=OEXCEL.SHEETS(1).USEDRANGE.ROWS.COUNT     && 有数据的行
   C=OEXCEL.SHEETS(1).USEDRANGE.COLUMNS.COUNT  && 有数据的列
   .CELLS(R,C).SELECT                          && 选中 R 单元到 C 单元的区域
*   DBFNAME = FORCEEXT(FILENAME,"DBF")          && 将扩展名 XLS 替换为 DBF
   .ACTIVEWORKBOOK.SAVEAS(DBFNAME,11)          && 保存为 DBF4 格式
   .WORKBOOKS.CLOSE
   .QUIT
ENDWITH
RELEASE OEXCEL
WAIT CLEAR
MESSAGEBOX(DBFNAME+" 转换完毕",64,"系统信息")


[ 本帖最后由 sdta 于 2013-1-10 13:45 编辑 ]

坚守VFP最后的阵地
2013-01-10 13:43
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用hu9jj在2013-1-10 13:28:37的发言:

编制程序导入,再多的行都没有问题。
貌似dbf最多 是多少条记录来着 10多亿吧

但是excel 貌似没那么多了

DO IT YOURSELF !
2013-01-10 14:00
Kerberos
Rank: 5Rank: 5
来 自:江苏扬州
等 级:职业侠客
帖 子:227
专家分:355
注 册:2012-9-11
收藏
得分:1 
以下是引用hu9jj在2013-1-10 13:28:37的发言:

编制程序导入,再多的行都没有问题。
对的!

想学好VFP,想做VFP高手,想帮助更多的人解决VFP问题!
2013-01-10 14:24
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11774
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用wp231957在2013-1-10 14:00:18的发言:

貌似dbf最多 是多少条记录来着 10多亿吧

但是excel 貌似没那么多了
正因为DBF允许最大的记录数远大于EXCEL允许的最大行数,所以才说再多的数据都可以用程序的方式导入。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-01-10 17:26
快速回复:有个excel表一万七千多行,怎么才能导入到VFP里?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017479 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved