I want to be able to retrieve, within excel (hopefully without writing any additional code per se - maybe a simply Excel ODBC or SQL connection with a query. So my data would end up as such on the Excel Document:Excel:Date ID Name Phone2/1/11 1 Test1 12342/1/11 2 Test2 12352/1/11 3 Test3 1236我不确定我是否足够清楚地解释自己....I'm not sure if I'm explaining myself clearly enough....我正在使用Excel 2007,并且在某个地方也有2010. SQL是SQL Server 2000.I'm using Excel 2007 and I also have 2010 laying around somewhere. SQL is SQL Server 2000.谢谢!推荐答案恐怕是ADO.Dim cn As ObjectDim rs As ObjectDim strFile As StringDim strCon As StringDim strSQL As StringDim s As StringDim i As Integer, j As Integer''This is not the best way to refer to the workbook''you want, but it is very convenient for notes''It is probably best to use the name of the workbook.strFile = ActiveWorkbook.FullName''Note that if HDR=No, F1,F2 etc are used for column names,''if HDR=Yes, the names in the first row of the range''can be used.''This is the Jet 4 connection string, you can get more''here : http://www.connectionstrings.com/excelstrCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"''Late binding, so no reference is neededSet cn = CreateObject("ADODB.Connection")Set rs = CreateObject("ADODB.Recordset")cn.Open strConstrSQL = "SELECT * " _ & "FROM [Sheet1$] a " _ & "LEFT JOIN " _ & "[ODBC;Driver={SQL Server Native Client 10.0};" _ & "Server=servername;Database=test;" _ & "Trusted_Connection=yes].tbl b " _ & "ON a.[Id]=b.[Id] "rs.Open strSQL, cn, 3, 3''Pick a suitable empty worksheet for the resultsWorksheets("Sheet3").Cells(2, 1).CopyFromRecordset rs''Tidy uprs.CloseSet rs = Nothingcn.CloseSet cn = Nothing 这篇关于从Excel 2007查询SQL并返回几个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 08-01 20:24