Назад | Перейти на главную страницу

Результаты, скопированные из SSMS, разделяются по столбцам при вставке в Excel

SSMS 2008 -> Excel 2003

Это происходит не всегда, но иногда, когда я «копирую с заголовками» из студии управления сервером sql, результаты в Excel выглядят так, как будто я использовал мастер «текст в столбцы» с «пробелами» и «скобками». как разделители, что означает, что результаты будут неравномерно распределены по столбцам, что делает их бесполезными

Я просмотрел параметры запроса «Вывод сетки», но не нашел ничего, что могло бы вызывать проблему.

(не уверен, что это должно быть на суперпользователе?)

Эта проблема может быть вызвана функцией Excel «Текст в столбец». Что он делает, так это то, что он разбивает один столбец на несколько столбцов в зависимости от того, какой разделитель вы выбрали. Как только вы используете эту функцию, Excel почему-то думает, что она все еще включена и может повлиять на вашу следующую копию и предыдущую операцию.

Чтобы исправить это, перейдите в «Данные»> «Текст в столбец» и выберите другой разделитель (кроме пробела), например запятую или табуляцию. Затем скопируйте и вставьте. Это должно решить проблему.

Связанный странный вопросительный знак в Excel после копирования и прошивки

Сохраняются настройки "текст в столбцы" из предыдущих

Обходной путь:
Найдите пустую ячейку
положить asdf
в этой камере

Данные | Текст в столбцы
ограниченный
снимите отметки со всех опций
закончить

Это частая ошибка в таком процессе - скопируйте из SSMS и вставьте в Excel. Эта проблема возникает, когда один из столбцов в результате SSMS имеет точку (.) И обрабатывает его как отдельную строку, и результатом может быть беспорядочный столбец / строка в Excel. Например: «Пиво Heineken в бутылке 0,33 литра». Эта точка перед 33 может прервать процесс вставки по той же причине, указанной выше.

Вот как этого избежать без кода.

  1. Скопируйте все столбцы, в которых нет точки (.), В записи результата.
  2. Вставьте его в Excel.
  3. Выполните 1-й шаг, если после столбца с точкой (.) Есть еще столбцы.
  4. Наконец, скопируйте и вставьте столбец с точкой (.) В конце *.
    • Если прямая вставка в Excel для этого столбца не работает, попробуйте вставить его на новый лист Excel, а затем скопируйте в то место, куда хотите вставить.

Надеюсь, поможет.

Я разрабатываю надстройку SSMSBooad для SSMS (www.ssmsboost.com) и мы затронули эту тему там: вы можете использовать «Копировать данные как XML Spreadsheed (Excel)» функция, которая использует собственный формат буфера обмена Excel для передачи заголовков и информации о типах данных в Excel. Надеюсь это поможет.

Обновление: недавно мы создали обучающее видео по этой теме:

https://www.youtube.com/watch?v=waDCukeXeLU