将SQL Server 2008中的表数据提取到Excel电子表格

时间:2015-11-09 00:42:06

标签: excel sql-server-2008 vb6

我的SQL Server 2008中有一个包含客户端数据的表。非常简单,只有FirstName,LastName,Sex,MI。我一直试图将其解压缩到Excel但是当我尝试这样做时,它会被提取为文本文件。基本上,文本在一个单元格中,看起来像一团糟。我的代码出了什么问题?

Private Sub cmdExtract_CLick()
    Dim filenum as Integer
    Dim vSQL as String
    Dim cndX as Adodb.Recordset

    filenum=freefile
    dim theFilename as string
    theFIlename ="C:\Test\TestFile.CSV"

    Open theFilename for Output as #filenum
    Write #filenum, "First, Last, MI, SEX"

    vSQL = "SELECT FirstName, LastName, Sex, MI from dbo.Test_Clients2"
    cnd.open, vSQL

    set cndx =New Adodb.Recordset
    cndx.move first

    Do while no cndx.eof
    write #filenum, cndx("FirstName") & "," & cndx("LastName") & "," & cndx(Sex)   & "'" & cndx("MI"
    loop

    cndx.close
    cnd.close
    close #filenum
End Sub

所以这就是我所拥有的。我确定在哪里弄错了,但我可能遗漏了一些东西。数据可以很好地加载到Excel工作表中,但它们都在一个单元格中。

1 个答案:

答案 0 :(得分:0)

为什么不使用Microsoft的Power Query add-in。它可能比使用vba从SQL数据库导入数据更有效。

例如:

let
    Source = Sql.Database("Servername", "DBname", [Query="SELECT FirstName, LastName, Sex, MI from dbo.Test_Clients2"])
in
    Source

您当然可以用同样的方式从csv文件中提取数据。