如何在Excel中创build自定义函数来抓取MySQL数据?

我们需要为用户创build一个自定义的公式来从我们的mysql数据库中提取数据。 在用户通过authentication之后,他们会在excel中input一个公式(比如'= retrievemybirthday(“Frank Dodge”)''),我们怎么去做呢?我们并不是新手, Excel有没有关于这方面的教程?我们已经看过,但可以find任何东西。

谢谢!

1)你需要为你的MySQL数据库configuration一个ODBC驱动程序。

2)找出你需要的这个函数的SQL代码

select birthdate from YourTable Where membername=? 

你将在你的函数中使用这个代码

3)在你的function,你将需要正确的连接string。 检查一个网站,如http://www.connectionstrings.com/

4)下面是一个函数的例子,使用ActiveX数据对象(你需要在VB编辑器的Tools> References中设置一个引用)

 Function GetNomen(sPN As String) As String 'SkipVought/2006 Mar 7 '-------------------------------------------------- ' Access: DWPROD.FRH_MRP.READ '-------------------------------------------------- ':this function returns nomenclature for a given part number '-------------------------------------------------- '2011-9-26 Converted to Parameter Query '-------------------------------------------------- Dim sConn As String, sSQL As String, sServer As String Dim rst As ADODB.Recordset, cnn As ADODB.Connection, cmd As ADODB.Command Set rst = New ADODB.Recordset Set cnn = New ADODB.Connection Set cmd = New ADODB.Command sServer = "dwprod" cnn.Open "Driver={Microsoft ODBC for Oracle};" & _ "Server=" & sServer & ";" & _ "Uid=/;" & _ "Pwd=" sSQL = "SELECT PM.Nomen_201 " sSQL = sSQL & "FROM FRH_MRP.PSK02101 PM " sSQL = sSQL & "WHERE PM.PARTNO_201 =?" Debug.Print sSQL With cmd .CommandText = sSQL .CommandType = adCmdText .Prepared = True .Parameters.Append .CreateParameter( _ Name:="PARTNO_201", _ Type:=adChar, _ Direction:=adParamInput, _ Size:=16, _ Value:=sPN) .ActiveConnection = cnn Set rst = .Execute End With rst.MoveFirst If Err.Number = 0 Then GetNomen = rst("NOMEN_201") Else GetNomen = "" End If rst.Close cnn.Close Set cmd = Nothing Set rst = Nothing Set cnn = Nothing End Function 

您可以根据需要在工作表上运行此function。