SSIS: получить листы файла Excel программно - PullRequest
2 голосов
/ 21 января 2010

Мое приложение генерирует пакеты служб SSIS для импорта данных из файлов Excel. Это делается программно с использованием C #.

Перед созданием пакета есть шаг настройки, на котором я позволяю пользователю выбрать из файла Excel шаблона имя листа и столбцы для импорта. (В основном то, что вы обычно делаете, если вы собирали пакет вручную с помощью BIDS / VS и настраивали компонент Excel Source).

Я делаю это путем создания временного пакета служб SSIS с диспетчером соединений Excel, задачей Dataflow и источником Excel.

Используя этот метод, у меня нет проблем с чтением имен столбцов с помощью SSIS API после того, как я определил имя листа. Однако я не могу найти способ получить список листов с тем, что дает мне API SSIS.

Я могу перечислить имена листов, используя OleDbConnection (как показано здесь ), но есть ли способ сделать это с помощью API-интерфейса SSIS? Это даже направление, в котором я должен идти, или я должен использовать OleDB исключительно для начальной установки и API SSIS строго для генерации / выполнения финальных пакетов?

Спасибо

1 Ответ

1 голос
/ 21 января 2010

Это - самая близкая вещь к тому, что я хочу, которую я смог найти.

Возможное решение - создать аналогичный пакет в BIDS (поскольку я понял, что вообще нет необходимости создавать этот пакет программно в первую очередь), а затем взаимодействовать с ним (или его результатами) в моем коде C # для получения данных. Я нуждаюсь.

Тем не менее, я думаю, что будет проще, если я просто воспользуюсь провайдером OleDB для настройки и использую SSIS API только для генерации / выполнения пакета, как только выясню, как он будет выглядеть

...