Копирование / вставка данных из SQL Server в Excel разбивает текст на несколько столбцов?


14

У меня проблема с вставкой данных из таблицы результатов SQL Server 2005 в электронную таблицу Excel 2007.

У меня есть запрос в SQL Server, который возвращает 2 столбца (числовой столбец и текстовый столбец)

На одном компьютере здесь я могу с удовольствием скопировать (щелкнуть правой кнопкой мыши> скопировать), а затем просто щелкнуть правой кнопкой мыши и вставить в таблицу Excel. нет проблем.

На другом компьютере, когда я пытаюсь вставить его в Excel, он разбивает текстовый столбец и вставляет текст в несколько столбцов на основе пробелов между словами.

Например, если одна из строк имеет ...

Вставьте меня пожалуйста

... в нем затем при вставке в Excel он разбивает текст и вставляет каждое слово в отдельный столбец в Excel.

Мы попытались сравнить параметры как в SQL Server, так и в Excel с компьютером, на котором он работает, но не видим различий.

Любые идеи приветствуются

Благодарность

Ответы:


20

Если вы недавно использовали текст в столбцах, эти параметры будут применены к операции вставки. Я не помню, чтобы это происходило до Excel 2007, но может быть. Мне всегда нужно возвращаться и возвращать его обратно к разделителю табуляции, прежде чем снова начать копирование и вставку.


да, вы правы - мы взломали это - спасибо
Пол

Это сработало. Благодарю.
Сагар Ширке

7

Перед вставкой результатов: Данные → Текст в столбцы

  • Исходный тип данных: проверка разделителями
  • следующий
  • Разделители: снять пробел
  • следующий
  • Конец

Наконец, вставьте результаты.


1

Вы пытались заменить шаблоны запуска Excel на компьютере, на котором возникла проблема? В нем может быть определен макрос, который запускается вашей операцией вставки. Согласно статье 924460 базы знаний Майкрософт шаблоны хранятся в следующих местах:

По умолчанию файлы пользовательских шаблонов хранятся в следующем месте:

  • В Windows XP C: \ Documents and Settings \\ Данные приложения \ Microsoft \ Шаблоны
  • В Windows Vista или в Windows 7 C: \ Users \\ AppData \ Roaming \ Microsoft \ Templates

1

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

Ответ Гектора хорош в том, что вам не нужно выходить из Excel, но это также работает, и довольно быстро и просто.


Я думаю, что некоторые из Excel, которые у вас есть в системе, изменили параметры по умолчанию. Поэтому я думаю, что вместо того, чтобы возиться с конфигурацией или преобразованием данных, легко все закрыть и открыть снова.
Хуан Акоста

0

Если ваша таблица содержит поле nvarchar (max), переместите это поле в нижнюю часть таблицы. В случае, если тип поля отличается от nvarchar (max), определите поле или поля, которые нарушают работу, и используйте эту же технику. Сохрани это. Снова выберите таблицу в SQL. Если вы не можете сохранить без изменения, вы можете временно отключить соответствующие предупреждения в TOOLS | ПАРАМЕТРЫ. Этот метод не несет риска. Скопируйте и вставьте отображение SQL GRID с заголовками в Excel. Данные могут по-прежнему отображать возврат каретки, но по крайней мере ваши данные находятся в одной строке. Затем выберите все записи строк и выполните пользовательскую сортировку в столбце идентификатора. Все ваши записи теперь должны быть целыми и последовательными.


0

Время от времени я сталкиваюсь с подобной ситуацией, когда строки разбиваются на несколько строк, когда пользователи используют символ возврата каретки / перевода строки в столбце, предназначенном для комментариев. Я нашел решение, которое работает для SQL 2012/2014 здесь .

Это, очевидно, не проблема в предыдущих версиях SQL Server. Если вы не хотите переходить по ссылке, вот как исправить проблему в вашем SQL:

REPLACE(REPLACE([YourColumnHere], CHAR(10), ''), CHAR(13), '')

0

Решение этой проблемы в Excel после вставки клика.

«Использовать мастер импорта текста» -> с разделителями -> далее «Закладка», флажок «Рассматривать последовательный разделитель как один» -> следующий конец

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.