【问题标题】:Excel Add-On to display data from (My)SQL DatabaseExcel Add-On 显示来自(Mysql 数据库)的数据
【发布时间】:2008-12-15 20:43:36
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: sql mysql excel


    【解决方案1】:

    您可以下载ODBC driver for MySQL,创建数据源,然后使用MS Query 创建自定义 SQL 查询,您可以通过“数据”菜单将其添加到 Excel。

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        这是一个例子:

        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
        

        【讨论】:

          【解决方案4】:

          这个方法应该比 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
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-07-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多