У меня есть некоторые таблицы Excel, которые я не могу изменить, поскольку они используются другим отделом, и они не изменят их в будущем.Они .xlsm с более чем 500 столбцами (A: TH).Я пытаюсь импортировать их в SQL Server 2008 на 64-битной машине, но у меня огромные проблемы.Все формы импорта в Excel, похоже, обрезают выбранные мной столбцы до первых 255.
В конечном итоге будет 5 отдельных таблиц для хранения этих данных с одним общим ключом.Я мог бы написать короткий VBA-скрипт для сортировки данных в Excel по упорядоченным столбцам таблиц в источнике, но я хотел спросить, возможно ли сначала следующее:
Это работает нормально и выбирает столбцы A: IV
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=C:\NEW.xlsm',
'SELECT * FROM [Details Sheet$A:IV]')
Есть ли умный способ сделать что-то похожее с несмежным диапазоном, таким как
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=C:\NEW.xlsm',
'SELECT * FROM [Details Sheet$C:C,IW:LZ]')
т.е.возьмите ключ в столбце C и дополнительные столбцы IW: LZ?Для меня проблема в том, что использование полного диапазона C: LZ и SELECT [ID],[THIS],[THAT] FROM
и т. Д. Не будет работать для полей за пределами 255 столбцов в диапазоне, что очень раздражает!