ADO访问excel
来源:互联网 发布:linux zip 安装包下载 编辑:程序博客网 时间:2024/06/05 06:37
要用DELPHI中的ADO系列控件访问Excel数据文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列当然就是表的列了。然后,按照下列面的秘诀进行就可以。
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=False
2.设置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
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=False
2.设置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
利用ADOTable存取Excel文件
1、添加ADOTable1控件,设置下列属性:
ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Persist Security Info=false;Data Source=c:/abc.xls;
TableDirect=true;
TableName=sheet1$;
Active=true;
2、添加DataSource1控件,设置下列属性:
DataSet=ADOTable1
3、添加DBGrid1控件,设置下列属性:
DataSource=DataSource1
1、添加ADOTable1控件,设置下列属性:
ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Persist Security Info=false;Data Source=c:/abc.xls;
TableDirect=true;
TableName=sheet1$;
Active=true;
2、添加DataSource1控件,设置下列属性:
DataSet=ADOTable1
3、添加DBGrid1控件,设置下列属性:
DataSource=DataSource1
- ADO访问excel
- ADO访问Excel 2007
- ADO访问Excel 2007
- ADO访问Excel 2007
- ADO连接excel表格,怎样访问数据?
- ADO 方式访问 Excel 文件的问题
- 使用ado访问excel中的数据
- 在DELPHI中使用ADO直接访问Excel数据文件
- 在DELPHI中使用ADO直接访问Excel数据文件
- 在DELPHI中使用ADO直接访问Excel数据文件
- 关于以ODBC和ADO方式访问excel数据库总结
- DELPHI中使用ADO直接访问Excel数据文件
- 【黑马程序员】ADO.NET访问EXCEL(学习笔记)
- 关于以ODBC和ADO方式访问excel数据库总结
- excel+ado
- ado excel
- 访问ADO
- 在DELPHI中使用ADO直接访问Excel数据文件(收藏)
- hive使用mysql保存metastore
- 【DirectX】D3D骨骼动画的实现(总结)
- Linux进程标识
- JAVA C# 区别:用父类变量调用子类的方法
- linux find命令详解
- ADO访问excel
- action中如何获取参数的值
- vSphere 4系列之二:ESX/ESXi4.0安装
- sort命令
- MIT-BIH心电数据的下载和读取
- SDK Platform Tools component is missing!
- sizeof、pack和alignment
- MTK 11A SMS
- 香草冰淇淋和代码调试