Как из Csv Перевести в Excel Таблицу • Microsoft excel

Импорт CSV с разрывами строк в Excel 2007

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

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

Я также попытался заменить CR / LF (rn) только CR (r) и снова только LF (n), но не повезло.

кто-нибудь еще сталкивался с этим поведением, и если да, то как вы это исправили?

EDIT:
Вот быстрый файл, который я написал вручную, чтобы дублировать проблему.

ID, имя, описание
«12345», » Smith, Джо», » Привет.
Меня зовут Джо.»

когда я импортирую это в Excel 2007, я получаю строку заголовка и две записи. Обратите внимание, что запятая в «Smith, Joe» обрабатывается правильно. Это просто разрывы линий, которые вызывают проблемы.

19 ответов

Excel (по крайней мере, в Office 2007 на XP) может вести себя по-разному в зависимости от того, импортируется ли файл CSV, открыв его из меню Файл->Открыть или дважды щелкнув файл в Проводнике.

копировать / вставлять данные из csv-файла (открыть в Редакторе), затем выполнить «текст в Столбцах» — > не работает, все в порядке.

перейдите на следующую вкладку и скопируйте / вставьте снова (то же самое, что у вас уже есть в буфере обмена) —> автоматически работает сейчас.

оказывается, мы писали файл, используя кодировку Unicode, а не ASCII или UTF-8. Изменение кодировки в FileStream, похоже, решает проблему.

Если вы делаете это вручную, загрузите LibreOffice и используйте LibreOffice Calc для импорта CSV. Он делает гораздо лучшую работу, чем любая версия Excel, которую я пробовал, и он может сохранять в XLS или XLSX по мере необходимости, если вам нужно перенести в Excel после этого.

но если вы застряли с Excel и вам нужно лучшее исправление, кажется, есть способ. Кажется, это зависит от локали (что кажется идиотским, на мой скромный взгляд). У меня нет Excel 2007, но у меня есть Excel 2010, и приведенный пример:

не работает. Я написал это в блокноте и выбрал «сохранить как». и рядом с кнопкой Сохранить вы можете выбрать кодировку. Я выбрал UTF-8, как было предложено, но не повезло. Однако замена запятой точкой с запятой сработала для меня. Я больше ничего не менял,и это сработало. Поэтому я изменил пример, чтобы выглядеть так, и выбрал кодировку UTF-8 при сохранении в блокноте:

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

Итак, все детали, которые я смог собрать, чтобы получить это к работе относятся:

  1. файл должен быть сохранен как UTF-8 со спецификацией, что и делает Блокнот при выборе UTF-8. Я попробовал UTF-8 без BOM (можно легко переключаться в Notepad++), но затем дважды щелкнул документ не удается.
  2. необходимо использовать разделитель запятой или точкой с запятой, но не тот, который является десятичным разделителем в региональных настройках. Возможно, другие персонажи работают, но я не знаю, что.
  3. необходимо указать поля, содержащие новая строка с » персонажем.
  4. я использовал окончания строк Windows (\r\n) как в текстовом поле, так и в качестве разделителя записей, который работает.
  5. вы должны дважды щелкнуть файл, чтобы открыть его, импорт данных из текста не работает.

Если поле содержит начальное пространство, Excel игнорирует двойную кавычку в качестве квалификатора текста. Решение состоит в том, чтобы исключить ведущие пробелы между запятой (разделителем полей) и двойной кавычкой. Например:

разбито:
Имя,Название, Описание
«Джон», «Мистер», «мое подробное описание»

работает:
Имя,Название, Описание
«Джон»,»Мистер», «мое подробное описание»

[expert_bq id=»1570″]А если есть пустые строки, используйте два последовательных разделителя например, ,, , чтобы указать, что поле не содержит данных. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Среди пользователей, создающих электронные таблицы, есть те, которые предпочитают онлайн-сервис от Google, а другие работают в Microsoft Excel. Поэтому иногда возникает потребность перенести данные из веб-сервиса непосредственно в программу.
Просмотр листа для переноса данных из Google Таблиц в Excel

CSV файл: чем открыть формат, софт для работы с расширением

  1. файл должен быть сохранен как UTF-8 со спецификацией, что и делает Блокнот при выборе UTF-8. Я попробовал UTF-8 без BOM (можно легко переключаться в Notepad++), но затем дважды щелкнул документ не удается.
  2. необходимо использовать разделитель запятой или точкой с запятой, но не тот, который является десятичным разделителем в региональных настройках. Возможно, другие персонажи работают, но я не знаю, что.
  3. необходимо указать поля, содержащие новая строка с » персонажем.
  4. я использовал окончания строк Windows (\r\n) как в текстовом поле, так и в качестве разделителя записей, который работает.
  5. вы должны дважды щелкнуть файл, чтобы открыть его, импорт данных из текста не работает.

Предлагаю обратить внимание на этот вариант, если с реализацией предыдущего возникли какие-то проблемы. У импорта файла CSV есть свои недостатки, поскольку весь документ в Google Таблицах придется сделать публичным. Если для вас это не имеет значения, приступайте к выполнению инструкции.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: