Как SQL-запрос выгрузить в Excel: SSMS, CSV и Power Query

SQL-запрос можно выгрузить в Excel несколькими способами. Для разовой выгрузки проще скопировать результат из SSMS или сохранить его в CSV. Для регулярного отчета лучше подключить Excel к базе через Power Query, чтобы обновлять данные кнопкой, а не каждый раз вручную копировать таблицу

Перед выгрузкой проверьте сам запрос: он должен возвращать только нужные столбцы, понятные названия и ограниченный объем данных. Excel плохо подходит для миллионов строк и тяжелых выгрузок без подготовки

Способ 1. Скопировать результат из SSMS

В SSMS выполните запрос:

SELECT
    order_id,
    customer_name,
    total_sum,
    created_at
FROM orders
WHERE created_at >= '2026-01-01'
ORDER BY created_at DESC;

В нижней таблице результата выделите строки, нажмите Copy with Headers и вставьте в Excel. Это быстрый способ для небольшого отчета, когда не нужна автоматизация

Минус очевидный: при следующем обновлении придется повторить действие руками. Еще один риск — случайно скопировать не все строки или потерять заголовки

Способ 2. Сохранить результат в CSV

В SSMS можно включить результат в файл или сохранить таблицу результата как CSV. Для аккуратной выгрузки лучше заранее привести имена столбцов к понятному виду:

SELECT
    order_id AS [Номер заказа],
    customer_name AS [Клиент],
    total_sum AS [Сумма],
    CONVERT(date, created_at) AS [Дата]
FROM orders
WHERE created_at >= '2026-01-01';

После сохранения CSV откройте его в Excel через импорт данных, а не двойным кликом, если есть проблемы с кодировкой, разделителями или датами. При импорте можно выбрать UTF-8, разделитель и типы столбцов

Способ 3. Power Query в Excel

Если отчет нужен регулярно, используйте Power Query:

  1. Откройте Excel
  2. Перейдите в Data -> Get Data
  3. Укажите сервер и базу
  4. Вставьте SQL-запрос в Advanced options
  5. Загрузите результат на лист или в модель данных

Преимущество Power Query в том, что пользователь сможет обновлять отчет. Но запрос должен быть безопасным и читающим данные. Не стоит вставлять туда UPDATE, DELETE или служебные команды

Как подготовить запрос для Excel

Хороший запрос для выгрузки:

  • не использует SELECT *
  • дает понятные имена столбцов через AS
  • фильтрует период или статус
  • сортирует результат
  • приводит даты и числа к ожидаемому виду
  • не возвращает технические поля, если они не нужны в отчете

Пример:

SELECT
    c.name AS [Клиент],
    COUNT(o.id) AS [Количество заказов],
    SUM(o.total_sum) AS [Сумма заказов]
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY SUM(o.total_sum) DESC;

Такую таблицу легче читать в Excel, чем сырые строки из нескольких таблиц

Мини-практика

Создайте учебный запрос с тремя столбцами: имя клиента, количество заказов и сумма. Сначала скопируйте результат в Excel вручную, затем сохраните CSV и откройте его через импорт. Сравните, где корректнее сохранились заголовки, даты и русские буквы

Частые ошибки

  • Выгружают SELECT * и получают лишние служебные поля
  • Открывают CSV двойным кликом и получают сломанную кодировку
  • Не задают псевдонимы столбцов
  • Выгружают слишком много строк для Excel
  • Используют точку и запятую или запятую как разделитель без учета региональных настроек
  • Вставляют в Power Query запрос, который меняет данные

Что почитать дальше по SQL

Если нужен общий маршрут по теме, откройте рубрику SQL. Для соседних задач пригодятся эти разборы:

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x