2,497
社区成员
发帖
与我相关
我的任务
分享
'Open the Excel workbook to prompt for the password
Dim xl As Object
Set xl = GetObject(CurrentProject.Path & "\" & "MASTER JAN 2009.xls")
'Now open the workbook to read/write/whatever
Dim cnn1 As New ADODB.Connection
Dim rst1 As ADODB.Recordset
Dim strExcelName As String = "MASTER JAN 2009.xls"
Dim strWkBkName As String = "[MASTER 2008$]"
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=" & CurrentProject.Path & "\" & strExcelName & ";" _
"Extended Properties=""Excel 8.0;"";"
Set rst1 = New ADODB.Recordset
rst1.Open strWkBkName, cnn1, , , adCmdTable
Do Until rst1.EOF
'process your data here
rst1.MoveNext
Loop
procedure Tcl2form.conntable(fName:string);
Var
ConnStr: String;
StrList:TSTringList;
begin
ADOConnection1.Close;
ADOTable1.Active := False;
ConnStr := ConnStr + 'Provider=Microsoft.Jet.OLEDB.4.0;User Source=';
ConnStr := ConnStr + fName;
ConnStr := ConnStr + ';Mode=ReadWrite;Extended Properties=Excel 8.0;';
ConnStr := ConnStr + 'Jet OLEDB:System database="";';
ConnStr := ConnStr + 'Jet OLEDB:Registry Path="";';
ConnStr := ConnStr + 'Jet OLEDB:Database Password="";';
ConnStr := ConnStr + 'Jet OLEDB:Engine Type=35;';
ConnStr := ConnStr + 'Jet OLEDB:Database Locking Mode=0;';
ConnStr := ConnStr + 'Jet OLEDB:Global Partial Bulk Ops=2;';
ConnStr := ConnStr + 'Jet OLEDB:Global Bulk Transaction_s=1;';
ConnStr := ConnStr + 'Jet OLEDB:New Database Password="";';
ConnStr := ConnStr + 'Jet OLEDB:Create System Database=False;';
ConnStr := ConnStr + 'Jet OLEDB:Encrypt Database=False;';
ConnStr := ConnStr + 'Jet OLEDB:Don''t Copy Locale on Compact=False;';
ConnStr := ConnStr + 'Jet OLEDB:Compact Without Replica Repair=False;';
ConnStr := ConnStr + 'Jet OLEDB:SFP=False';
ADOConnection1.ConnectionString := ConnStr;
ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := true; //連接excel;
StrList:=TSTringlist.Create;
ADOConnection1.GetTableNames(StrList,false);----excel表名要使用英文
//showmessage(strlist[0]);
ADOTable1.TableName := '[' + strlist[0] + ']'; //Edit1.Text 是excel的一個表名
ADOTable1.Active := true; //打開一個表;
STrlist.Free;
end;