2011-05-23 5 views
1

Я использую функцию 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

Если вы знаете, количество колонок, вы можете попробовать указать, если в запросе, чтобы преуспеть список:

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

здесь колонны идет от «A» до «Z».

+0

по-прежнему та же проблема. Поскольку 28 столбцов являются их, я попробовал A: AB. все еще не отображается последний столбец. Если я тестирую с A: K, A: Z его работу. Но с A: AB Не показывать последний столбец. – Humdum

1

Удалите пробел со своего названия вкладки рабочего стола: «Обзор CIS» -> «CIS_Overview» или «CISOverview».

Смежные вопросы