delphi用ADO控件读EXCEL或DBF文件

delphi用ADO控件读EXCEL或DBF文件

用ADO控件读EXCEL或DBF文件

用ADO连接Excel
设置属性ConnetionString
选择 Microsoft Jet 4.0 OLE DB provider
Select or enter a datasorce name -> 选择你要打开Excel文件
User name默认是Admin 密码默认为空,可以不用理会
Extended properties 设为:Excel 8.0
sql语句 select * from [yourtablename] (注意要有[])

更详细的请看这一篇:

在DELPHI中使用ADO直接访问Excel数据文件


摘 要:在DELPHI中使用ADO直接访问Excel数据文件
关键字:ADO Excel
类 别:数据库

  要用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
1将ADODataSet或ADOTable连接到刚才的ADOConnection。如果不用ADOConnection,也可以参照上面的方法直接设置
ADODataSet或ADOTable的ConnectionString属性。
2对于ADODataSet,需要将CommandType属性设置为cmdTableDirect,而对于ADOTable,则将TableDirect属性设置为True。
因为,访问Excel文件是直接的数据文件访问,不是通过SQL语句来操作游标访问的。如果不设置直接访问,则系统会报告
SQL语句格式错误等信息。
然后,当你下拉ADODataSet中的CommandText属性或ADOTable的TableName属性时,就可以选择到要打开的工作表了。
注意,表名后面多了加一个$符号。
3.打开ADODataSet或ADOTable


连接DBF数据
构造ado connection string
提供者选择 Microsoft Jet 4.0 OLEDB Provider
"所有"那里编辑 Extended Properties,
dbf文件的话设置为dBase 5.0(注意dBase和5.0之间必须有空格,最好拷贝过去粘贴)
db文件的话设置为Paradox 7.X
(dbf就是dbase或Vfox数据库,db就是paradox数据库)
"连接"那里的"数据库名称"输入的是目录名,不能包含文件名,
比如你的文件是 c:tempaaa.dbf ,那么输入c:temp
同时CursorLocation 设置为: clUseServer

还可以:
如果直接连的话,ADO的连接字串设为:

adoConnection1.ConnectionString:='Provider=MSDASQL.1;Extended Properties="Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=c:mydb"';


如果是用ODBC,先在ODBC中设一个DSN连接到该DBF库,然后,在ADOConnection中设置连接ODBC的连接字串即可(可以用向导帮助完成)

你可能感兴趣的:(delphi用ADO控件读EXCEL或DBF文件)