| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2500 人关注过本帖, 3 人收藏
标题:将当前工作区中打开的表自动转换为EXCEL文件
只看楼主 加入收藏
cymjx
Rank: 2
等 级:论坛游民
帖 子:74
专家分:29
注 册:2010-11-9
收藏
得分:3 
不懂就问:
是否把上述代码放在按钮中?
2012-04-28 11:28
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
当然可以将这些代码放在按钮中,但建议还是保存为程序,在其他表单中都可以调用。如将这些代码存为dbftoexcel.prg,那末在需要使用的表单中添加一个按钮,代码只要写:
select 需要转换的表别名
do dbftoexcel

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-28 17:26
wangcaol
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-1
收藏
得分:0 
楼主提供了利用EXCEL的强大编辑功能对VFP表操作的好方法。但如果要有实用价值的话,需要在EXCEL编辑完后把结果反存到VFP表中,这个问题如何解决,请楼主赐教。
2012-04-29 09:25
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
让用户在EXCEL中录入数据然后再存入VFP表中,这个有必要吗?为什么不直接提供表单让用户直接录入呢?
直接录入可以对数据进行必要的检验,不合理的数据可以直接提示用户立即修改,否则不予保存,这在EXCEL中是比较难以实现的。再说EXCEL对单元格的数据类型没有控制,需要录入数值的列可以轻易地录入字符,也样的数据导入到VFP中有用吗?
从EXCEL将数据导入到VFP中,最有用的地方是将其他软件中的数据导入。现在很多软件都提供将数据转存为EXCEL文件的功能,这样我们就可能通过EXCEL文件导入其他软件的数据。我现在正在做从金蝶EAS中导出的数据,通过EXCEL文件导入到我自己的程序中,然后进行再加工,得到自己需要的数据信息。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-29 16:58
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:5 
以下是引用hu9jj在2012-4-29 16:58:18的发言:

让用户在EXCEL中录入数据然后再存入VFP表中,这个有必要吗?为什么不直接提供表单让用户直接录入呢?
直接录入可以对数据进行必要的检验,不合理的数据可以直接提示用户立即修改,否则不予保存,这在EXCEL中是比较难以实现的。再说EXCEL对单元格的数据类型没有控制,需要录入数值的列可以轻易地录入字符,也样的数据导入到VFP中有用吗?
从EXCEL将数据导入到VFP中,最有用的地方是将其他软件中的数据导入。现在很多软件都提供将数据转存为EXCEL文件的功能,这样我们就可能通过EXCEL文件导入其他软件的数据。我现在正在做从金蝶EAS中导出的数据,通过EXCEL文件导入到我自己的程序中,然后进行再加工,得到自己需要的数据信息。
非常赞同,这样的导入我已实现,但要换一个数据上使用很困难,即是灵活性不好

我正在想如何做一个界面,对不同的EXCEL表,导入哪几个字段,用鼠标点几下就把要导入的对应起来,然后自动导入 就好了

[ 本帖最后由 xs591222 于 2012-4-29 19:36 编辑 ]
2012-04-29 19:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
回复 15楼 xs591222
可以的

授人以渔,不授人以鱼。
2012-04-29 19:41
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
用循环找到EXCEL工作表的标题行,然后将标题读入到数组中,再显示到列表中让用户选择是否导入,最后将选中的数据列逐行读入并保存到DBF表中。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-29 21:00
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
如果要考虑通用性,可以用VFP系统的功能将整个工作表转换成DBF表,然后再处理。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-04-29 21:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
其实数据表就是从一张表格模拟出来的,与Excel的表格在本质上一样,搞明白这个道理,自然知道怎么处理。

授人以渔,不授人以鱼。
2012-05-01 23:18
ptyy803
Rank: 2
来 自:上海
等 级:论坛游民
威 望:2
帖 子:193
专家分:64
注 册:2009-6-11
收藏
得分:0 
本人觉得后面的ALLTRIM(STR(RECNO()))中的Recno()不应该这样使用,这是整个数据表的记录号,包括已删除的记录在内,应该在 DO WHILE !EOF() 前加一个变量 cRecno=0
DO WHILE !EOF()                               &&开始对记录的循环
      cRecno=cRecno+1
   WAIT WINDOW '共有'+ALLTRIM(STR(nrecc))+'条记录,正在转换第'+ALLTRIM(STR(cRecno))+'条记录...' NOWAIT   
........

这样是否可以更准确点转换的记录数,供参考,还请大侠们指点
2012-05-11 20:52
快速回复:将当前工作区中打开的表自动转换为EXCEL文件
数据加载中...
 
   



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

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