Excel加载项显示(我的)SQL数据库中的数据
有没有一种简单的方法可以将mysql/odbc数据源中的数据导入excel电子表格 用户应该能够从下拉列表中选择一些值(例如日期范围、分支名称等),并且应该使用下拉列表中的值填充(准备)SQL语句。结果应显示在Excel文件中 理想情况下,会有一个“保存快照”菜单项,将动态excel文件(保存sql语句)转换为静态excel文件,从而减少内部(如sql)对外部资源的暴露 谢谢您可以下载,创建数据源,并使用创建自定义SQL查询,您可以通过“数据”菜单将其添加到Excel中。以下是一个示例:Excel加载项显示(我的)SQL数据库中的数据,sql,mysql,excel,Sql,Mysql,Excel,有没有一种简单的方法可以将mysql/odbc数据源中的数据导入excel电子表格 用户应该能够从下拉列表中选择一些值(例如日期范围、分支名称等),并且应该使用下拉列表中的值填充(准备)SQL语句。结果应显示在Excel文件中 理想情况下,会有一个“保存快照”菜单项,将动态excel文件(保存sql语句)转换为静态excel文件,从而减少内部(如sql)对外部资源的暴露 谢谢您可以下载,创建数据源,并使用创建自定义SQL查询,您可以通过“数据”菜单将其添加到Excel中。以下是一个示例: Set
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
strCon = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=MyDB;" _
& "User=UName;Password=PWord;Option=3;"
cn.Open strCon
strSQL = "SELECT * FROM Members"
rs.Open strSQL, cn
Worksheets(3).Cells(2, 1).CopyFromRecordset rs
此方法应比CopyFromRecordset快。当然,您必须确保安装了MySQL ODBC 5.1驱动程序
With AWorksheet.QueryTables.Add( _
Connection:="ODBC;Driver=MySQL ODBC 5.1 Driver;Port=3306;Server=mysqlservername;Database=snort;User=username;Password=password;Option=3;"
Destination:=AWorksheet.Range(AWorksheet.Cells(1, 1), AWorksheet.Cells(1, 15)) _
)
.CommandText = "SELECT Something FROM Somewhere"
.Name = "Name"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
.Delete
End With