Как я могу пропустить первые несколько строк источника xlsx в наборе OpenRowset, если в имени листа есть пробел (SSIS)?

#sql-server #excel #visual-studio #ssis

Вопрос:

У меня есть файл .xlsx, который я пытаюсь импортировать в службы SSIS в Visual Studio 2019. Мне нужно пропустить первые 3 строки и начать с строки 4, которая содержит заголовок. Мой обычный подход к этому заключается в изменении набора OpenRowset в разделе пользовательские свойства исходного кода excel, чтобы включить нужный мне диапазон. Проблема в том, что в этом автоматически сгенерированном файле excel в имени листа есть пробел, и ничего из того, что я делаю, кажется, не работает.

Если я удалю пробел и введу следующее:

 Sheet1$A4:K  

Здесь нет никаких проблем. К сожалению, из-за того, что есть свободное место, ни одно из следующих действий, похоже, не работает:

 'Sheet 1$A4:K' "Sheet 1$A4:K" 'Sheet 1'$A4:K 'Sheet 1

У меня здесь заканчиваются идеи, и я не могу поверить, сколько проблем у меня с поиском решения в Интернете. Каков правильный синтаксис/что мне нужно сделать, чтобы это сработало?


Ответ №1:

Заключите все имя и диапазон в квадратные скобки ( [] ). Например:

 SELECT * FROM [Sheet 1$A4:K]  

Комментарии:

1. Спасибо, спасибо, спасибо!!!

A4:K Sheet 1$A4:K 'Sheet 1У меня здесь заканчиваются идеи, и я не могу поверить, сколько проблем у меня с поиском решения в Интернете. Каков правильный синтаксис/что мне нужно сделать, чтобы это сработало?

Ответ №1:

Заключите все имя и диапазон в квадратные скобки ( [] ). Например:


Комментарии:

1. Спасибо, спасибо, спасибо!!!

$A4:K

У меня здесь заканчиваются идеи, и я не могу поверить, сколько проблем у меня с поиском решения в Интернете. Каков правильный синтаксис/что мне нужно сделать, чтобы это сработало?

Ответ №1:

Заключите все имя и диапазон в квадратные скобки ( [] ). Например:


Комментарии:

1. Спасибо, спасибо, спасибо!!!