Задача, на первый взгляд, самая что ни на есть простая: есть база MSSQL, есть некий сервер приложений, есть файл Excel, который нужно передать на сервер, сохранить копию, пропарсить и залить в таблицы MSSQL.
Файл Excel представляет собой обычный прайс — матрицу примерно 5000 * 10 записей.
Несмотря на богатый выбор технологий, предлагаемых MS для решения задачи, при близком рассмотрении оказывается, что все они в той или иной степени недостаточно надёжные по причинам известной недетерминированности структуры листа Excel: на листе, кроме таблицы, может присутствовать "шапка" и "подвал"; пользователь может забыть типизировать ячейку и вколотить в числовое поле строку; в саму табличную часть документа пользователь может для красоты добавлять пустые строки и т.д.
Имеющиеся в наличии инструменты:
1) Excel + Linked Server/Opernrowset — эта связка заведомо не будет работать при заведомо нетабличной структуре обрабатываемого листа Excel
2) Excel + Integration Services — то же самое
3) Обработка входящего файла на сервере приложений через VBA или Office Interop — чрезвычайно трудоёмко
4) Интеграция с .NET посредством Visual Studio Office Project — ?
5) Прямое обращение к MSSQL через Excel VBA — ?
6) Взаимодействие с веб-сервисом из Excel (c использованием SOAP Toolkit или при помощи интеграции с .NET) — ?
Кроме того. Взаимодействие с Excel желательно сделать двусторонним, то есть, к примеру, предоставить пользователю возможность автоматической синхронизации справочника номенклатуры, хранящегося на сервере MSSQL.
Есть ещё возможность прикрутить к этому всему хозяйству SharePoint Services, но пока даже не могу предположить, каким боком.