标题:怎样用vfp控制excel自动转入大量结构相同的工作表
只看楼主
zengjun81357
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-27
结帖率:87.5%
已结贴  问题点数:20 回复次数:16 
怎样用vfp控制excel自动转入大量结构相同的工作表
一个excel工作薄中有几十张结构相同的工作表(前4行是表头,最后一行是合计),每月一个工薄,有3年的数据,要求转入dbf表。已经在每个工表中手工添加一列可以区别各表了。请教怎样用vfp控制excel自动转入?
搜索更多相关主题的帖子: excel 工作表 手工 
2014-03-19 16:19
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:4 
上传部分excel数据  论坛上有这方面内容 搜下
2014-03-19 16:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:4 
看不明白
一个excel工作薄中有几十张结构相同的工作表(前4行是表头,最后一行是合计),每月一个工薄,有3年的数据,要求转入dbf表。已经在每个工表中手工添加一列可以区别各表了。请教怎样用vfp控制excel自动转入?

是将所有工作表中的数据导入一个DBF表中,还是一个工作表生成一个DBF表,不知道楼主的工作表格式,无从下手。

坚守VFP最后的阵地
2014-03-19 18:52
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
得分:4 
假设一个簿有30个工作表,每月一个簿,有3年,则共有
3*12*30=1080张表哦
先按年循环,再按月循环、最后在簿内按表数循环,来实现取数据
2014-03-19 19:06
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:4 
编程序利用循环将工作表按行逐单元读出数据,然后再添加到DBF表中。

活到老,学到老! http://www. E-mail:hu-jj@
2014-03-19 19:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
按照工作表的顺序读取数据,也很快。用另存方式读取数据速度快,逐个单元格读取数据速度慢。

[ 本帖最后由 sdta 于 2014-3-19 19:44 编辑 ]

坚守VFP最后的阵地
2014-03-19 19:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
速度最快的方法,应该是把数据保存在数组中,再追加到DBF表中。

坚守VFP最后的阵地
2014-03-20 00:00
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
从编程到数据全部导出,估计4个小时差不多吧。

坚守VFP最后的阵地
2014-03-20 02:10
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
以下是引用xs591222在2014-3-19 19:06:11的发言:

假设一个簿有30个工作表,每月一个簿,有3年,则共有
3*12*30=1080张表哦
先按年循环,再按月循环、最后在簿内按表数循环,来实现取数据

那还不如手工在EXCEL中复制粘贴操作,最后再一次性转换成DBF表,这样做比编程会更快些。

活到老,学到老! http://www. E-mail:hu-jj@
2014-03-20 08:07
zengjun81357
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-27
得分:0 
以下是引用hu9jj在2014-3-20 08:07:11的发言:

 
那还不如手工在EXCEL中复制粘贴操作,最后再一次性转换成DBF表,这样做比编程会更快些。
已经手工在EXCEL中操作,但每张表结构一样,感觉可以进行程序化操作。另外,如果让应用人员来操作,就狠费事,也让人觉得太不自动化了。

说说自己的作法:
1.在EXCEL中选定所有工作表,删除前4行(表头)和最后一行(合计行)(每张表行数一样。请教:如果各张工作表行数不一,怎样删除最后一行?)
2.在EXCEL中选定所有工作表,在第一列前插入一列(用以填写工作表标签来区别各工作表中数据)。请问:怎样将工作表标签填写在插入一列?例如怎样自动将第二张工作表标签Shift2填写在第二张工作表的第一列的各行中。
3.怎样自动将各工作表中数据复制到同一工作表?我没有办法是手工复制的。

这些技巧是excel的,但不解决了,在用vfp控制excel时就困难,数据交换就不好办。希望指教!
2014-03-20 11:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-428795-1-1.html




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

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