Delphi中使用ADO连接Excel有感

Delphi中使用ADO连接Excel有感,第1张

概述Delphi中使用ADO连接Excel有感      By panther666   今天在Delphi中使用ADO连接Excel(以前在一本书看过,复习一下-_-!!),有所收获,不敢独享。   第一部分:   1. 设置ADOConnection的ConnectionString属性的OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider(这本来是用于连接 Delphi中使用ADO连接Excel有感
   
 By panther666
 
今天在Delphi中使用ADO连接Excel(以前在一本书看过,复习一下-_-!!),有所收获,不敢独享。
 
第一部分:
 
1. 设置ADOConnection的ConnectionString属性的olE DB的提供者要选择Microsoft Jet 4.0 olE DB ProvIDer(这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件),按 "下一步"按钮
 
2. 选择数据库名称。注意:Excel的扩展名是*.xls,而默认文件类型是Microsoft Access 数据库(*.mdb), 我们就选择"全部文件(*.*)"吧,接着选择我们要连接的Excel文件咯!!如果在当前路径,就直接填2007.xls。  这时先别慌按 "测试连接"按钮,不然会出现错误对话框的。可以试试看,了解一下 ^_^
 
3. 在"所有"选项卡中找到 "Extended PropertIEs",双击它或者按"编辑值"按钮,设置Extended PropertIEs为"Excel 8.0 "。
 
4. 我们返回"连接"选项卡,按 "测试连接"按钮。测试连接成功!!! ^_^
 
最后,设置完成后的ConnectionString中的各项参数为:
    ProvIDer=Microsoft.Jet.olEDB.4.0
    Data Source=2007.xls    //因为在当前路径
    Extended PropertIEs=Excel 8.0
    Persist Security Info=False
 
第二部分:
 
接着就用ADOtable,ADODataSet和ADOquery连接到刚才的ADOConnection,当然你可以直接设置ADOtable,ADODataSet或ADOquery的ConnectionString属性。
 
1. ADOtable设置:
 
  a. ADOtable的tablename属性值:系统自动生成Excel的Sheet1$,Sheet2$和Sheet3$。直接Active设置成true,系统会报告SQL语句格式错误等信息。
 
  b. 找到tableDirect属性,设置为True。因为,访问Excel文件是直接的数据文件访问,不是通过SQL语句来 *** 作游标访问的。接着将Active设置成true。成功了!! ^_^
 
  c. 可以不使用tableDirect属性,将tablename属性中的Sheet1$,Sheet2$和Sheet3$分别改成[Sheet1$],[Sheet2$]和[Sheet3$]。   对,就是加"[]"就行了。
 
2. ADODataSet设置:
  a. 只需要将CommandType属性设置为cmdtableDirect,选择工作表,Active设置成true就成功了。
 
  b. 也可以将CommandType属性设置为cmdtable,将CommandText属性中改成[Sheet1$],[Sheet2$]和[Sheet3$]。
 
3. ADOquery设置:
 
  sql属性如下:
  
  select * from [sheet1$]
 
 
 

总结:复习以前所学的,尝试新的连接方法,有益于加深记忆。我发现工作表名后面都要多加一个$符号,还有就是打开ADOtable,ADODataSet或者ADOquery以后,它们的CursorType自动变成ctStatic。

总结

以上是内存溢出为你收集整理的Delphi中使用ADO连接Excel有感全部内容,希望文章能够帮你解决Delphi中使用ADO连接Excel有感所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1276387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存