Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel加载项显示(我的)SQL数据库中的数据_Sql_Mysql_Excel - Fatal编程技术网

Excel加载项显示(我的)SQL数据库中的数据

Excel加载项显示(我的)SQL数据库中的数据,sql,mysql,excel,Sql,Mysql,Excel,有没有一种简单的方法可以将mysql/odbc数据源中的数据导入excel电子表格 用户应该能够从下拉列表中选择一些值(例如日期范围、分支名称等),并且应该使用下拉列表中的值填充(准备)SQL语句。结果应显示在Excel文件中 理想情况下,会有一个“保存快照”菜单项,将动态excel文件(保存sql语句)转换为静态excel文件,从而减少内部(如sql)对外部资源的暴露 谢谢您可以下载,创建数据源,并使用创建自定义SQL查询,您可以通过“数据”菜单将其添加到Excel中。以下是一个示例: Set

有没有一种简单的方法可以将mysql/odbc数据源中的数据导入excel电子表格

用户应该能够从下拉列表中选择一些值(例如日期范围、分支名称等),并且应该使用下拉列表中的值填充(准备)SQL语句。结果应显示在Excel文件中

理想情况下,会有一个“保存快照”菜单项,将动态excel文件(保存sql语句)转换为静态excel文件,从而减少内部(如sql)对外部资源的暴露

谢谢

您可以下载,创建数据源,并使用创建自定义SQL查询,您可以通过“数据”菜单将其添加到Excel中。

以下是一个示例:

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