Можно ли удалить строки на листе Excel из SSIS?





От Форум
Arctile от Microsoft утверждает, что вы не можете удалить всю строку, но вы можете удалить значение в ячейке. http://support.microsoft.com/kb/257819
Эта ветка относится к кому-то с той же проблемой: http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.adonet/2006-12/msg00245.html
Короче говоря, похоже, что ответ - «нет», вы не можете удалить всю строку с помощью ado.net через SSIS. Вы можете использовать excel automation или vb.net in excel для выполнения этой задачи.
Я также сделал это, выполнив шаги, предложенные Гульзаром, но, если кому-то нужны подробности, я сделал следующее:
Изначально у меня была задача прочитать некоторую информацию из SQL Server и экспортировать ее в Excel:
Затем я добавил предложенные задачи: одну для удаления целевого файла Excel, а другую - для его воссоздания:
Это задача по удалению файла, это «Задача файловой системы»:
Это задача по воссозданию файла Excel, это «Задача Выполнить SQL»:
Для этой «Задачи Выполнить SQL» необходимо установить следующее:
а. Тип подключения - «Excel»
б. Как и предполагалось, соединение такое же, как и в исходной задаче экспорта.
c. Оператор SQL был скопирован из исходной задачи экспорта.
Вот и все. Запустите его, и он должен работать. Мое подключение к SQL Server выглядит так:
Мое подключение к Excel, которое изначально было создано при создании задачи экспорта, выглядит следующим образом:
В разделе «Поток данных» с помощью Source Assistant исходный «Источник OLE DB» имеет следующее:
И, используя Помощник по назначению, исходное назначение Excel имеет следующее:
Это оператор SQL, который я скопировал из исходного места назначения Excel: