Delphi中使用ADO连接Excel

来源:互联网 发布:mac端翻墙软件排名 编辑:程序博客网 时间:2024/05/03 08:12

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。

应用环境:Delphi7.0 + Win2003企业版 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高铁乘务员短发怎么办 来不及买欧洲通票怎么办 拼音输入法不显示汉字怎么办 书法落款写错怎么办 辐射4鼠标延迟怎么办 闭门器卡住了怎么办 货物运输少了一部分怎么办 高铁不能托运怎么办 卖玉营业员新手怎么办 老婆想吐怎么办呀 菜盆下水慢怎么办 下水管道有异味怎么办 厨房下水道地面漏水怎么办 戒指冲到下水道怎么办 农村盖房超出面积怎么办 研究生论文一个盲审没过怎么办 病毒麻疹很痒怎么办 毕业后学校改名怎么办 改名字以后档案怎么办 孩子改名后社保怎么办 改名后支付宝怎么办 毕业改名后学籍怎么办 改名字本科证怎么办 名字改了毕业证怎么办 改年龄后毕业证怎么办 被两家单位录取了怎么办 大专挂科太多怎么办 本科退学后档案怎么办 二本法学生怎么办 高中被开除学籍怎么办 九江学院借读证怎么办 粉末冶金粉加不满怎么办 学校屏蔽移动信号怎么办 铂涛高校代理怎么办 三校生高考没考上怎么办 国家助学金不发怎么办 学校不发助学金怎么办 大专学分修不够怎么办 小孩淋雨感冒了怎么办 披头发显脸大怎么办 小孩摔跤擦破皮怎么办