ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2050|回复: 7

请教老师为什么要用ado的方法操作excel?谢谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-9-25 22:59 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请教老师在VBA中为什么要用ado的方法操作excel?VBA中不是直接可以读取excel的数据吗?ADO操作excel的优势是什么?麻烦解答,谢谢了!

TA的精华主题

TA的得分主题

发表于 2011-9-25 23:28 | 显示全部楼层
ADO是打开对象的方式,优势就谈不上,要看你要用做什么,如果你要把EXCEL一个格子一个格子的去改动,而且是不规则的数据时,当然直接用excel对象方式来打开当然是最好的,但当对数据格式相对规范,并且形成数据表方式,那当然是ADO更好的处理些

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-25 23:33 | 显示全部楼层
Renco 发表于 2011-9-25 23:28
ADO是打开对象的方式,优势就谈不上,要看你要用做什么,如果你要把EXCEL一个格子一个格子的去改动,而且是 ...

谢谢老师解答!如果excel数据库数据量大时,用ado方法快吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-25 23:46 | 显示全部楼层
自己ADO留记号。http://club.excelhome.net/forum.php?mod=viewthread&tid=160847   参考9楼回答

ADO系统学习(论坛中用ADO处理Excel文件的帖子整理):http://club.excelhome.net/forum.php?mod=viewthread&tid=159747

问:ado的这些操作都可以用excel本身实现吧?高级筛选,数据透视,简单的vba好像都能实现以上的一些功能,究竟有哪些功能excel本身不能实现呢而必须通过ado调用数据库来实现呢?这是我这段时间学习ado所关注的!

答:什么叫“excel本身不能实现呢而必须通过ado调用数据库来实现”?不过我只是会使用,至于为什么就能这样使用,更深的理论还说不出来。 Microsoft Excel 工作表中的行和列与数据库中的行和列非常相似。只要用户记住 Microsoft Excel 不是关系型数据库管理系统,并认识到这一事实所带来的限制,在许多情况下都可以利用 Excel 及其工具来存储和分析数据。 Microsoft ActiveX Data Objects 让我们可以将 Excel 工作簿看做和数据库一样。我对这种处理方法感兴趣是因为发现很多问题用它来处理比用循环快非常多,而且语句非常少,而不是说用其他方法解决不了才用这种方法。如果只是处理Excel文件,应该没有那种不用ADO就解决不了的问题吧?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-26 00:04 | 显示全部楼层
记号:
VBA中使用ADO来处理Excel数据之现状  http://club.excelhome.net/forum.php?mod=viewthread&tid=653663

Excel工作表中的行和列与数据库中的行和列非常相似。ADO 让我们可以将 Excel 工作簿看做和数据库一样,用ADO的好处是可以不通过OPEN的方式访问工作簿,如此可以绕过不使用宏即关闭工作簿等陷井,也可以建立sql查询语句,快速搜索相关符合要求的记录,但EXCEL毕竟不是关系数据库,当我们努力想把ADO的访问技术发挥到极致的时候,才发现对EXCEL,ADO也有很大的缺陷,而且是目前技术条件下无法解决的,发本文的目的就是想通过大家讨论ADO技术访问工作簿让我们更加清楚ADO对EXCEL的使用现状.

TA的精华主题

TA的得分主题

发表于 2011-9-26 02:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ADO对象或EXCEL对象的使用需看情况而定,好比你买东西时你是付现金呢还是刷卡的道理差不多,酌情而定,或者两者都用,能高效的达到目的就行,不必纠结哪个好哪个差

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-26 11:57 | 显示全部楼层
Renco 发表于 2011-9-26 02:49
ADO对象或EXCEL对象的使用需看情况而定,好比你买东西时你是付现金呢还是刷卡的道理差不多,酌情而定,或者 ...

谢谢老师那么晚了还帮着解答,明白了,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-26 21:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 05:09 , Processed in 0.022882 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表