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、添加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