Блог

    SSMSBoost для SSMS
    Новости от разработчиков SSMSBoost адд-ина для SSMS. Обсуждение функций, общение с пользователями.
  • RSS подписка

Последние записи


Теги

Информация

SSMSBoost для SSMS

Фильтр по тегу: excel


Быстрый перенос данных из ResultsGrid SSMS в Excel с сохранением типов данных (и без проблем)

Кто не сталкивался с проблемой переноса данных из ResultsGrid SQL Server Management Studio в Excel?
Казалось бы, всё самое важное сделано: запрос написан, результаты на экране, осталось только перенести их в Excel и можно отдавать данные дальше, чтобы пользователи с ними «игрались» сами. Но вот тут-то и начинается: числа и даты превращаются в текст, мульти-строковые значения не экспортируются, строки со знаками арифметических операций в начале Excel пытается распознать как формулу (например телефонный номер с кодом страны). Что делать ?

Сначала для тех кто спешит:
Установив бесплатный SSMSBoost адд-ин для SSMS вызываете в гриде контекстное меню по правой кнопке, затем „Script Data As“ -> “Excel (MS XML Spreadsheet)“ -> „Current Grid“ -> „To Disk“ (см. картинку). После завершения генерации файла просто нажмите появившуюся ссылку на файл и он откроется в Excel. Если у вас офис старше чем версия 2010, то запустите Excel и откройте этот файл непосредственно из Excel-я.

Картинка с другого сайта.

Теперь немного теории для тех у кого есть время:
Сталкиваясь с такой ситуацией ежедневно я задался целью найти выход и подружить Excel и SSMS. Информация о типах данных в SSMS на уровне грида присутствует, а Excel с удовольствием понимает формат XML Spreadsheet , что позволяет безо всяких дополнительных библиотек генерировать понятный для Excel файл. Оставалось только написать конвертер и писали мы его с коллегой как можно более универсально: на входе данные из грида, затем идёт настраиваемый шаблон преобразования этих данных и на выходе результат пишется либо в файл либо копируется в буфер обмена. Таким образом мы создали довольно гибкую систему в которой решение изначальной задачи оказалось просто одним из множества возможных шаблонов. В наборе по умолчанию есть ещё шаблоны для генерации WHERE условия по выбранным значениям, представления данных в виде HTML и XML документа, «сохранения» данных в виде текста из множества SELECT запросов и другие. Что-бы разобраться с ними советую просто проверить каждый шаблон в деле. Ну и самое главное, что вы сами можете создавать свои шаблоны и получать данные из грида в нужной вам форме.

P.S. Данный текст написан на момент выхода версии 2.9. В следующих версиях мы собираемся улучшить интерфейс пользователя чтобы доступ до нужных функций был более удобным.
добавлено: 23 апр 13 просмотры: 1659, комментарии: 0