Office中国论坛/Access中国论坛

标题: 【Access小品】Excel导出新法--CopyFromRecordset方法示例 [打印本页]

作者: todaynew    时间: 2011-2-1 09:26
标题: 【Access小品】Excel导出新法--CopyFromRecordset方法示例
本帖最后由 todaynew 于 2011-2-2 21:14 编辑

  导出Excel有许多中方法,其中用Excel.Application对象进行导出作业,可以实现在Excel的指定区域内导出,其灵活性比较强。通常情况下,我们用Cells对象做循环导出。最近aydl1014 同志认为该方法速度较慢,并通过研究找到了用Range对象的CopyFromRecordset处理导出问题。这个方法就是以Excel表的某个单元格为左上角,一次性的拷贝ADO或DAO数据集。不过这个方法有一个缺陷,就是不能同时拷贝字段名称,不过向Excel读出数据主要花费时间的是对记录的读写,这个小缺陷不是大问题。

  这两天恰好在给版友nbxxhzh同志折腾一个计划生育的管理系统,由于不想在Access中编制报表(因为很麻烦),所以考虑导出数据到Excel中作为报表。于是用到了aydl1014 同志所论的方法,感觉效果不错。同时对江羽同志原来的一个关于判断某个Excel文件是否打开的函数进行了一些修改,因为我觉得判断不是重点,关闭才是目的,特别是对不可见的打开文件,需要的是关闭它,以便用Excel.Application重新正常打开,以便操作。此外在这个实例中写了很多关于Excel操作的自定义函数,有兴趣的初学者可以借鉴。

[attach]44760[/attach]

[attach]44754[/attach]







作者: ycxchen    时间: 2011-2-1 09:56
新办法,学习!
作者: asklove    时间: 2011-2-1 10:13
研究研究
作者: monkeylzx    时间: 2011-2-1 13:54
多谢分享经验,学习一下
作者: 风啸啸    时间: 2011-2-1 19:26
多谢分享经验,学习
作者: yanwei82123300    时间: 2011-2-5 16:45
新办法,学习!
作者: xie62    时间: 2011-2-6 13:38
谢谢分享
作者: zhuyiwen    时间: 2011-2-7 15:51
好,不错不错。
作者: 简    时间: 2011-2-8 11:18
我提个我的想法,在导出育龄卡时,我觉得,育龄卡的导出过程没必要显示出来,可以隐藏,即在后台运行,而前台采用类似进度条的方式显示导出表的进度,这样也可避免屏幕的闪烁。
还有一个问题,该程序在导出时把所有内容都导出来了,如果需要指定,只导出桃源县——杨树乡——杨柳村1组——王二麻子的资料,又如何处理呢?
因此我觉得如果做细致一点,导出时应该分“导出所有”和“导出指定个人”的两种情况。
以上想法,不知是否妥当,呵呵。
作者: todaynew    时间: 2011-2-9 10:17
简 发表于 2011-2-8 11:18
我提个我的想法,在导出育龄卡时,我觉得,育龄卡的导出过程没必要显示出来,可以隐藏,即在后台运行,而前 ...

用设置where子句即可按照要求输出相关数据。
作者: 简    时间: 2011-2-9 12:44
那你在例子上改动一下吧,这样让我们也更好的学习学习,好不。
作者: zhao__feng    时间: 2011-2-21 08:51
多谢分享经验,学习
作者: huxinhua    时间: 2012-1-11 09:57
学习一下
作者: 十三    时间: 2015-5-5 22:35
看看
作者: wu8313    时间: 2015-6-14 20:35
当记录达到3000条以上的话,这个方法就慢了。感觉还是把结果集存为xml.然后用excel读取xml比较好,只好工作表是打开的,可以多次读取xm,不用考虑excel.application对象是否打开。
这样的话,几万条记录也蛮快的。

作者: nncchh    时间: 2015-7-20 17:20
学习学习,谢谢分享!
作者: QQ214189912    时间: 2016-7-7 17:33
谢谢分享
作者: andliu    时间: 2019-6-2 09:35

多谢分享经验,学习
作者: gxwzljb    时间: 2020-2-28 16:00
必须要学习一下。
作者: wuwu200222    时间: 2021-1-29 15:26
学习
作者: wanghu10102121    时间: 2021-3-6 09:12
学习一下
作者: xylq    时间: 2024-2-28 22:48
123456
作者: xylq    时间: 2024-2-28 22:49
123456




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3