В интернет-магазине подразумеваются непростые для SQL отчёты (например, ABC-анализ, XYZ-анализ). Эти отчёты легко формировать в Excel, так как там есть уже готовые функции. Есть ли возможность с помощью SQL создавать отчёты в Excel?
Никогда не работал с SQL, но мне в голову пришла мысль, чтобы с помощью запросов выгружать нужные данные, а потом запускать необходимый макрос в Excel.
Так это совсем другая история. Зависит на чем сайт сделан. Шаги следующие:
1. Пользователь выбирает период
2. Запрос отправляется на сервер
3. Делается запрос в БД
4.Из результатов генерируется Excel файл с помощью пакетов доступных для технологии на котором разроботан сайт - Вы уверены что Вам для анализа нужен Excel и по другому никак?
5. Готовый файл показывается на сайте / отправляется пользователю
Excel вполне и сам может получить данные с сервера, причём не только из таблиц, но и результат выполнения запросов любой сложности. Так что SQL тут в общем и не нужен - задача вполне решается средствами VBA. Открыл в Excel файл отчёта, жмакнул кнопку обновления данных, подождал - и наслаждайся готовым результатом.
Qeinzo, "функцию на сайте" Вы будете организовывать явно не на SQL. Там будет какой-нить Jscript, который будет дёргать за какой-нить PHP... а вот там открыть файл Excel и подождать, пока отработает обновляющий отчёты Workbook.Open- ну вообще не проблема.
Qeinzo, я бы пошёл именно по этому пути. Если, конечно, среда исполнения позволяет. Впрочем, если речь идёт именно о файле Excel, а не OpenOffice - то, вероятно, позволяет.
Главный плюс - отчёт при этом становится полностью самодостаточным и представляет из себя цельный блок - нет распыления логики по двум программам. То есть при наличии доступа к серверу ему никакие внешние средства в общем и не нужны, чтобы обновиться и показать актуальную версию. Как вариант, в целях безопасности, он может изготовлять свою копию, где формулы заменены значениями, а модули удалены.