Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\xsgl\kh.xls;Extended Properties=excel 8.0;Persist Security Info=False
解决方案 »
- 网页中的按钮怎样触发delphi中的事件
- 求个控件..搜了半天找不到能满足要求的~谢谢~
- 给TLabel线一条线,怎么看不见呢? 请高手帮忙
- delphi与汽车计量衡通信读取重量数据的问题,急,100分!
- 求助高手,如何把数据库的查询结果输出 成为报表怎么实现?(就20分,全送给你)
- 关于MainManue,快来抢分
- 使用OleContainer加入WORD文件时,如何使Word自带的快捷菜单“复制”和“粘贴”不可用?
- 有点难度啊?
- how to save string to a text file ?/help thanks !
- 在Delphi中怎样取得当前主机名称?
- 请教一个函数,取文件修改日期和创建日期的函数,谢谢!
- 难题!!!高手请进
1.设置ADOConnection的ConnectionString
构造ConnectionString时,OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider作为ADO的驱动程序。这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。
连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*.xls,而不是*.mdb。
最关键的一点是,还要设置扩展属性Extended Properties为“Excel 8.0”,否则,测试连接时会报告无法识别数据格式的错误。Extended Properties的属性值在“所有”参数页中输入。
最后,设置完成后的ConnectionString中的各项参数为:
Provider=Microsoft.Jet.OLEDB.4.0
Data Source=MyExcelFile.xls
Extended Properties=Excel 8.0
Persist Security Info=False2.设置ADODataSet或ADOTable
将ADODataSet或ADOTable连接到刚才的ADOConnection。如果不用ADOConnection,也可以参照上面的方法直接设置ADODataSet或ADOTable的ConnectionString属性。
对于ADODataSet,需要将CommandType属性设置为cmdTableDirect,而对于ADOTable,则将TableDirect属性设置为True。因为,访问Excel文件是直接的数据文件访问,不是通过SQL语句来操作游标访问的。如果不设置直接访问,则系统会报告SQL语句格式错误等信息。
然后,当你下拉ADODataSet中的CommandText属性或ADOTable的TableName属性时,就可以选择到要打开的工作表了。注意,表名后面多了加一个$符号。
3.打开ADODataSet或ADOTable