用于读取第一行中所有列的SQL命令

时间:2009-07-31 04:37:07

标签: sql mysql sql-server excel

我有一张Excel工作表,其中第一行包含所有列的标题。我想要第一行中的所有名字。

用于读取第一行中所有条目的SQL命令是什么?

如果可能,我想定义最大限制。

另外:我想枚举所有列名。

4 个答案:

答案 0 :(得分:3)

你需要提到“HDR = No;”在你的连接字符串中。然后您可以使用以下查询:

Select Top 1 * from [SheetName$]

“HDR = No”将指定第一行不包含列名。

据说,我不知道是否有一个SQL语句来从表中获取列名。如果有,则可以在连接字符串中使用HDR = Yes并使用该SQL语句。

答案 1 :(得分:3)

我希望我理解这一点......但我认为你说要从表中选择列名:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = [YourTableName]

答案 2 :(得分:2)

这对我使用保存的工作簿在Excel中有用,它枚举了列(字段)名称。

Sub ListFieldADO()

    strFile = Workbooks(1).FullName
    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
        & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"


    Set cn = CreateObject("ADODB.Connection")

    cn.Open strCon

    ''You can also use the name of a named range
    Set rs = cn.OpenSchema(adSchemaColumns, _
        Array(Empty, Empty, "Sheet1$")) 
    While Not rs.EOF
        Debug.Print "     " & rs!Column_Name
        rs.MoveNext
    Wend

    rs.Close
    Set rs = Nothing
End Sub

答案 3 :(得分:1)

Select Top 1 * into #temp from [SheetName$]

use tempdb

sp_help #temp.

这样,您就可以获得#temp表的列名。同样,您必须将数据库更改为:

use yourDBName

将数据放入临时表中并读取临时表的属性,然后从中获取列名列表。