用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的連接字串即可(可以用向導幫助完成)