我有一個Excel工作表,其中第一行包含所有列的標題。我想要第一行中的所有名字。用於讀取第一行所有列的SQL命令
什麼是讀取第一行所有條目的SQL命令?
如果可能,我想定義最大限制。
另外:我想枚舉所有的列名。
我有一個Excel工作表,其中第一行包含所有列的標題。我想要第一行中的所有名字。用於讀取第一行所有列的SQL命令
什麼是讀取第一行所有條目的SQL命令?
如果可能,我想定義最大限制。
另外:我想枚舉所有的列名。
這在使用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
您需要提及「HDR = No;」在你的連接字符串中。然後你可以使用下面的查詢:
Select Top 1 * from [SheetName$]
「HDR =無」將指定第一行不包含列名稱。
被說,我不知道是否有一個SQL語句從表中獲取列名。如果存在,則可以在連接字符串中使用HDR = Yes並使用該SQL語句。
Select Top 1 * into #temp from [SheetName$]
use tempdb
sp_help #temp.
通過這個,你可以得到#temp
表的列名。同樣,你必須將數據庫更改爲:
use yourDBName
把數據放到一個臨時表和讀取臨時表的屬性,並從,你可以得到列名的列表。
我希望我理解這個權利....但我認爲你說你想從表中選擇列名:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = [YourTableName]
如果你想導入這個,那麼SQL有一個方法只是將數據直接導入到表中。你能否澄清你想要完成更多的事情?我認爲這可能會有所幫助。 – Jon 2009-07-31 04:47:31
@Jon,我只是想列舉出現在第一行的所有標題。也就是說,從col-0到col-100(說)的第0行的所有標題。我打算將它用於顯示所有枚舉標題的軟件(從第1行讀取)。 – Alphaneo 2009-07-31 04:53:50