Как скопировать многострочный текст из Excel без кавычек?

66

Когда вы создаете многострочную строку в ячейке Excel (используя Alt-Enter), если вы копируете эту ячейку в текстовый редактор, Excel автоматически добавит двойные кавычки (") вокруг полной строки, то есть

Cell1  |   Simple String 1 
Cell2  |   First line of a 
       |   Multiline string
       |   with 3 lines 
Cell3  |   Another simple line 2

Когда вы копируете только столбец со значениями в текстовый редактор, мы получаем:

Simple String 1
"First line of a 
Multiline string
with 3 lines"
Another simple line 2

Как я могу сказать Excel не добавлять цитату вокруг многострочного текста при копировании из Excel?


Редактировать: текстовые редакторы, которые я пробовал, отображают это поведение:

  • MS Word
  • Word Pad
  • Блокнот
  • Notepad ++
  • SQL Server Studio

Если у вас есть предложение по использованию определенного редактора (или одного из вышеперечисленных), пожалуйста, сообщите мне, какой & amp; как это использовать...

Andrew Bickerton
источник
4
Для чего это стоит, это потому, что Excel пытается вывести действительный CSV , Я был бы удивлен, если бы это было легко изменить.
slhck
@slhck I надежда Вы ошибаетесь (хороший ответ на этот вопрос!), так как было бы очень полезно иметь возможность сказать Excel, что я не копирую в CSV ...
Andrew Bickerton
Это очень раздражает. Нет законных причин, по которым Excel помещает кавычки вокруг текста, который содержит возврат каретки.
oscilatingcretin
1
Google Spreadsheets делает то же самое раздражает. Я пытаюсь скопировать несколько ячеек данных в текстовый файл, но таблицы Google добавляют к ним кавычки - кавычки НЕ содержатся в исходных данных. Это ошибка для меня, а не особенность.
Jonny
Здесь есть ответ, который использует VBA: stackoverflow.com/a/24913557/976210 Это сработало намного лучше для меня, так как я не хочу использовать посредническую программу.
Kit Johnson

Ответы:

20

То, как ваш текст будет скопирован в Word, зависит от выбранной опции форматирования. В Word 2010 формат по умолчанию HTML Format, Существует четыре основных варианта копирования текста в Word. ( Formatted Text (RTF), Unformatted Text, HTML Format& amp; Unformatted Unicode Text )

Вставка с форматированным текстом создает мини-таблицы в Word. (Синие очертания.)

Paste Special Options

Чтобы получить неформатированный текст в Word без двойных кавычек:

  1. Вставьте текст в формате, чтобы он создал таблицу.
  2. Выберите таблицу и скопируйте ее.
  3. Переместитесь в пустое место и вставьте новую копию как неформатированный текст. ( Alt + E, S )

Это также работает, чтобы вставить результаты без кавычек в другой редактор. Просто измените шаг 3, чтобы вставить в другой редактор.

Однако, вероятно, было бы быстрее просто вставить как обычно и затем использовать Replace, чтобы найти и удалить все двойные кавычки.

mischab1
источник
+1 хороший ответ с техникой, чтобы решить это! (к сожалению, для блока, с которым я имел дело, были действительные двойные кавычки, которые я хотел сохранить)
Andrew Bickerton
+1 эти глупые вещи действительно заставляют меня хотеть искать другой офисный продукт. Может быть, звездный офис или что-то в этом роде. спасибо за трюк
bicycle
21

Если вы скопируете диапазон из Excel (2010) в Word, вы получите текст по своему усмотрению, без кавычек. Затем вы можете скопировать его снова в конечный пункт назначения, например, в блокнот. Excel-> WordPress> Блокнот даст вам результаты, которые вы хотите.

s_a
источник
Word отображает это поведение при копировании с другими ячейками (как описано в вопросе). Или это что-то, что они отсортировали в Office 2010?
Andrew Bickerton
2
Пока это работает. Жаль, что я должен использовать Word 2010 в качестве посредника, чтобы удалить цитаты.
oscilatingcretin
Это работает и для Mac Office 2011.
Lewis42
3

Самый простой способ, который я нашел, - это объединить ячейки, которые вы хотите разместить, в несколько строк с чем-то «особенным» между ними, а не с cr / lf. Тильда обычно хорошо работает для меня. Например, в столбце G:

=E1&"~"&F1
=E2&"~"&F2
...

В этом примере конечной целью является получение текстового файла со значениями из E1 в одной строке, затем F1 в новой строке, затем E2, F2 и т. Д. Конечно, вы могли бы так же легко построить G1 из других значения, только что включенные ~ для разрывов строк.

Затем получить многострочный текстовый файл в Notepad ++

  • Вырезать и вставить в Блокнот ++
  • Ctrl-H, чтобы открыть диалог замены
  • Убедитесь, что выбран вариант расширенного поиска
  • Замените все ~ на \ n (или \ r \ n, если хотите)
randomScott
источник
Как разработчик мне нравится этот, так как он не требует третьего инструмента, как Word
VSB
1

Это не проблема Excel. Как говорит предыдущий автор, он просто выводит действительные данные CSV. Это будет зависеть от редактора, который вы положите в него, чтобы посмотреть после его форматирования. Я бы предложил использовать что-то более умное, чем блокнот ... Вы можете использовать MS Word в качестве посредника между Excel и любым текстовым редактором, который вы хотите использовать, кроме word.

Michael Beck
источник
2
Я использую что-то кроме блокнота ... Также Word делает то же самое (вставляя только эту ячейку в "s")
Andrew Bickerton
Word 2010 с настройками по умолчанию отлично работает в качестве посредника.
Adam Ryczkowski
Я обнаружил это вчера. Я согласен с Эндрю Бикертоном. Я не хочу копировать CSV, я хочу копировать текст. Excel должен хотя бы спросить. Поскольку в моем тексте было около двух тысяч вставок SQL, я смог легко решить его с помощью PsPad Несмотря на то, что это было легко, это было совершенно ненужным.
alvaroc
1

У меня была та же проблема и я использовал следующие шаги (я использую Office 2007, но я думаю, что это работает и для более поздних версий):

  1. Выделите диапазон ячеек, содержащих многострочный текст из Excel, который я хочу вставить в другой редактор, а затем выберите «Копировать».
  2. В Word 2007 я вставил скопированный диапазон ячеек в таблицу.
  3. Выберите стол.
  4. На вкладке Layout выберите Select-Table.
  5. В разделе данных выберите Преобразовать в текст и выберите Метки абзаца.

В результате получается исходная таблица, преобразованная в текст, с символами новой строки в конце каждой строки и метками абзаца в конце последней строки в каждой ячейке.

Tom
источник
1

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

solvus
источник
1

У меня была эта проблема сегодня, поэтому я решил опубликовать ответ на тот случай, если кто-нибудь все еще застрянет на ней.

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

Я сделал это только в Excel 2010, поэтому я не знаю, будет ли это работать для более ранних версий.

Matt
источник
Это прекрасно, хотя мне нужно было взять мою ячейку с формулой CONCAT (A1: A100) и вставить Специальную во вторую ячейку, прежде чем я смог выбрать все из текстового поля, как вы описали
nvuono
1

Не может быть подготовить его к CSV-файлу, потому что они были бы довольно глупы, настолько сложны, как верхние и конечные ячейки, которые содержат непечатаемые символы с кавычками, и не делают то же самое для ячеек, которые содержат запятые (чего нет «т).

Тем не мение. Я столкнулся с этой проблемой, когда пытался создать метки адресов из полей Имя, Фамилия, Адресная строка 1 ... как:

=A1&" "&B1&CHAR(13)&CHAR(10)&C1&CHAR(13)&CHAR(10)&D1

CHAR(13) с последующим CHAR(10) быть новым абзацем при просмотре текстового файла в шестнадцатеричном редакторе.

Мой способ обойти это раздражение:

  • скопируйте и вставьте ячейки / столбец в Word.
  • Используйте раскрывающийся список символов буфера обмена (внизу слева на странице или вставленный текст), чтобы выбрать, Хранить только текст ,
  • Выберите вставленный текст. Это необходимо сделать только в том случае, если документ содержит другие элементы, которые могут быть затронуты
  • Удар Ctrl + ЧАС воспитывать Найти и заменить диалоговое окно
  • В, Найти то, что , тип поля в: "^p" (все четыре символа).
    Возможно, вам придется перейти в Инструменты - & gt; Параметры автозамены, затем обе вкладки Автоформат, чтобы убедиться, что они не изменяют ваши прямые кавычки
  • В, Заменить , поле, введите: ^p (2 символа)
  • Теперь ударил, Заменить все кнопка
  • Наконец вам придется вручную удалить двойные кавычки в начале и в конце импортированного блок

Это основано на Office 2003, поэтому ваша версия Microsoft Word может немного отличаться.

D. Adams
источник
0

Я использовал CLEAR функция, и это сработало для меня.

Поместите клетки, которые вы хотите скопировать внутри CLEAR, например:

=clear(A1)

куда A1 это ячейка с данными, которые вы хотите скопировать в блокнот без кавычек.

wizwig
источник
14
Я думаю ты имеешь ввиду CLEAN, (По крайней мере, в Excel 2010.) Однако это уберет символы перевода строки, и его второе предложение больше не будет многострочным.
mischab1
0

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

Я думаю, что очистка текста, а затем окончательное форматирование, скорее всего, сработает (по крайней мере, для меня).

Alan Reeves
источник
2
Следует отметить, что метод «Очистить» также удалит символы возврата каретки, и полученное прошлое не будет многострочным.
0

Была такая же проблема, наконец-то ее очень легко исправить. У меня было 600 строк длинных описаний продуктов. Чтобы исправить эту проблему, я сделал следующее:

1) Выберите весь столбец и нажмите «Обтекание текстом».

2) Удерживая выбранный столбец, снова нажмите «Обтекание текстом» (чтобы текст на 100% НЕ был обернут).

PRESTO - текст, скопированный из каждой ячейки идеально, без кавычек (даже если они были длинными абзацами).

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

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

CompelVentures
источник
2
Привет, не совсем правильное решение. Это работает, только если у вас нет внутренних возвратов каретки в ваших ячейках (нажмите alt-enter, чтобы создать внутренний возврат каретки)
Andrew Bickerton
0

Я нашел легкий способ обойти это. Установите OpenOffice Calc и откройте файл .xlsx. Затем просто скопируйте содержимое ячейки и вставьте в любой текстовый редактор. Раздражающие начальные и конечные кавычки не появятся.

user863611
источник
0

Я знаю, что это 2018 год, и эти посты старше, но все же они актуальны. Они помогли мне найти решение.

  1. Я положил = A2, который смотрит на ячейку с Char в формуле.
  2. Затем я скопировал A2 и вставил в качестве значений в другую ячейку, например, A3.
  3. Я тогда выбрал А3, нажал F2 , Ctrl сдвиг Главная , Ctrl С ,
  4. Стоп, не вставляйте в другую ячейку Excel. оставьте его в буфер обмена и вставьте в блокнот.
  5. Невидимые цитаты исчезают.

Исчезни, как сказал INXS, Исчезни! знак равно

Кто-то, возможно, уже сказал это решение, поэтому мои извинения, после прочтения всех примеров, что-то запало в мои мысли, и вы все помогли!

me.guest
источник
-1

Как и у вас, у меня были данные в столбце. Поэтому, чтобы скопировать значения без этих кавычек, я объединяю весь столбец с данными. Это для таблиц Google Docs, но я думаю, что это может работать для Excel, возможно, придется изменить функцию CONCATENATE.

Чтобы объединить всю колонку G:

=CONCATENATE(G:G)

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

Jonny
источник
не работает для Excel
Baljeetsingh
-1

работая над ответом от solvus, мы можем создать веб-страницу для автоматической публикации, используя только тот диапазон текста, который вам нужен - без кавычек. затем вы можете скопировать и вставить это в другие места. После того, как вы его настроите, он там навсегда и обновится, не связываясь с вашим основным файлом.

сделать это,...

Выберите ваши клетки, а затем save as.. save as file type знак равно Single File Web Page, с возможностью Republish $ : $ (выбранный вами диапазон.)

нажмите опубликовать. Выбрать AutoRepublish every time this workbook is saved,

  • Затем вы получите опубликованную веб-страницу, содержащую только ваши ранжированные данные, в формате таблицы без кавычек. скопировать и вставить :)
user34210
источник