MSSQL + Excel
От: baranovda Российская Империя  
Дата: 12.05.09 09:52
Оценка:
Задача, на первый взгляд, самая что ни на есть простая: есть база 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, но пока даже не могу предположить, каким боком.

В общем, прошу поделиться опытом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.