2011-05-23 87 views
1

我正在使用Openrowset函數SQL Server從Excel文件中讀取數據。OpenRowSet - SQL Server

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=E:\IGM\Files\cis overview.xls;HDR=No;IMEX=1;','SELECT * FROM [CIS Overview$]') 

但不是所有列正在openrowset所示。

以下僅爲示例,我正在閱讀的Excel文件有28列,而其中沒有數據的27只是標題,28被Openrowset忽略。

col1 col2 col3 
-------------- 
A   X 
B   X 
C   X 
.   . 
.   . 

Openrowset沒有在結果集返回col3 - 爲什麼?

它只顯示col1,col2。

但是,如果我插入一些數據在col2(任何單元格),結果集將具有所有三列。

如果以前沒有數據,它會忽略最後一列嗎?

我還在查詢中包含HDR=NO選項,但沒有運氣?

他們有什麼辦法獲得結果集中的所有列嗎?

有幫助嗎?

問候,

回答

0

如果你知道的列數,你可以嘗試指定是否在查詢Excel列表:

'SELECT * FROM [CIS Overview$A:Z]' 

這裏列從「A」去「Z」。

+0

仍然是同樣的問題。由於28欄是他們,我試過A:AB。仍然沒有顯示最後一列。如果我用A:K,A:Z測試它的工作。但與A:AB不顯示最後一欄。 – Humdum 2011-05-23 05:14:21

1

刪除工作表選項卡名稱中的空格:「CIS概述」 - >「CIS_Overview」或「CISOverview」。

相關問題