Неправильный формат файла убедитесь что файл был экспортирован в формате csv outlook

Обновлено: 07.07.2024

Ваша таблица контактов в Excel может быть добавлена ​​в несколько шагов

Контактные данные, хранящиеся в базе данных или электронной таблице, легко импортируются в Outlook. Outlook предоставляет простой метод.

Импорт контактов из файла CSV в Outlook

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

Снимки экрана ниже для Outlook 2016. Экраны в других версиях Outlook могут незначительно отличаться, но шаги те же. Любые варианты для более старых версий будут отмечены.

Перейдите в Файл .

Выберите Открыть и экспортировать . В Outlook 2010 выберите Открыть .

Выберите Импорт/Экспорт . В Outlook 2010 нажмите Импорт .

В мастере импорта и экспорта выберите Импорт из другой программы или файла , затем выберите Далее .

Выберите Значения, разделенные запятыми , затем выберите Далее .

Выберите Обзор , а затем найдите файл CSV, содержащий контакты, которые вы хотите импортировать.

Если вы используете Gmail, экспортируйте свои контакты Gmail в файл CSV, а затем импортируйте свои контакты Gmail в Outlook.

Выберите один из следующих:

  • Не импортируйте дублирующиеся элементы .
  • Замените дубликаты импортированными элементами . Если данные в CSV-файле более поздние или более полные, это может быть лучшим выбором.
  • Разрешить создание дубликатов . Если дубликаты созданы, вы всегда можете найти и удалить их, например, с помощью утилиты удаления дубликатов.

Выберите Далее .

Выберите папку Outlook, в которую вы хотите импортировать контакты. Это может быть ваша папка «Контакты», или это может быть папка «Контакты» в любой другой вашей папке. Вы также можете создать папку Outlook только для импортированных элементов.

Выберите Далее .

Выберите Карта пользовательских полей .

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

Чтобы сопоставить поле, перетащите Значение в нужное поле .

Выберите ОК , а затем выберите Готово , чтобы начать процесс импорта.

Откройте Панель запуска приложений и выберите Люди .

Выберите Управление > Импорт контактов .

Выберите Обзор .

Выберите файл CSV, затем выберите Открыть .

В диалоговом окне Импорт контактов выберите Импорт .

Ошибка файла в переводчике значений, разделенных запятыми, при инициализации переводчика для построения карты полей.

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

Почему возникает эта ошибка

  • В файле .csv нет управляющих символов CR + LF. CR + LF требуется в Windows для обозначения разрывов строк.
  • Файл .csv уже открыт в другой программе, например Microsoft Excel.
  • Скачанный файл .csv не разблокирован.

Ошибка файла в переводчике значений, разделенных запятыми.

  1. Откройте файл в другой программе, чтобы сохранить копию
  2. Убедитесь, что файл не открыт в другой программе при импорте
  3. Разблокируйте файл на вашем ПК

Чтобы узнать больше об этих шагах, продолжайте читать.

1]Откройте файл в другой программе, чтобы сохранить копию.

Если вы получаете эту ошибку, рекомендуется открыть файл .csv в другой поддерживаемой программе. Например, вы можете использовать Microsoft Excel для выполнения работы. Все, что вам нужно сделать, это открыть файл в Microsoft Excel, сохранить копию файла и импортировать ее в приложение Outlook.

Для этого откройте Excel на своем компьютере и щелкните значок Файл вариант. После этого выберите Сохранить как вариант слева.

Теперь выберите место, дайте ему имя, выберите CSV UTF-8 (с разделителями-запятыми) (* .csv) от Сохранить как тип список и щелкните Сохранять кнопку, чтобы сделать это.

Затем попробуйте импортировать файл .csv в Outlook.

2]Убедитесь, что файл не открыт в другой программе во время импорта.

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

3]Разблокируйте файл на вашем ПК

В большинстве случаев загруженный файл имеет статус «заблокирован». Вам нужно будет снять ограничение перед его импортом. Щелкните файл правой кнопкой мыши, поставьте галочку в Разблокировать флажок и щелкните Ok кнопку, чтобы сохранить изменение.

Вот и все! Это некоторые из рабочих решений для устранения этой проблемы.

В MS Office 2010 все мои контакты из предыдущей установки Outlook 2010 сохранены в листе Excel. Я пробовал десятки раз импортировать, но когда Outlook должен выполнять сопоставление столбцов, в моем CSV-файле это приводит только к одному столбцу: имя firstname;middlename;surname и т.д. Это означает, что я не могу правильно сопоставить данные ,

Я попытался сохранить в MS-DOS .txt и Tab с разделителями, но это не становится лучше. Я попытался сохранить на другом компьютере, и это тоже не помогает. Кроме того, я попытался импортировать в Gmail с тем же результатом.

Перепробовал все это, но не сработало. Мэтт дал мне правильную идею.

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

Это работает в 2007 году, и я считаю, что 2010 год такой же:

Откройте файл CSV в Excel и вручную переместите данные в отдельные столбцы, имя, отчество, фамилию и т.д. Убедитесь, что у каждого столбца есть полезный заголовок (это может быть что угодно). Теперь сохраните его как csv, используя другое имя, чтобы сохранить исходный файл без изменений. Когда вы импортируете данные из нового файла в Outlook, убедитесь, что вы выбрали "Сопоставление пользовательских полей". Убедитесь, что все заголовки столбцов в CSV-файле сопоставлены с правильными полями Outlook (IIRC это перетаскивание, чтобы изменить их), затем завершите импорт.

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

Мы попробовали все шаги, перечисленные здесь, но без радости, пока мы не открыли.CSV-файл с текстовым редактором. Мы нашли кавычки (") вокруг всех полей - в некоторых случаях было 3 кавычки (" "") до и после каждого элемента. Это было даже в случае списков контактов, экспортируемых из Outlook в.CSV файлы. Возможно, это сочетание использования в Office текстовых классификаторов и попытки избежать символа кавычки.

Решением было удалить все цитаты с помощью простого текстового редактора (Блокнот, Блокнот ++ и т.д.) И сохранить.Снова файл CSV.

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

CSV-файлы представляют собой файлы с разделенными запятыми значениями, в основном это текстовые файлы с запятыми, разделяющими значения, а не ячейки / строки, которые вы указываете в Outlook, сохраняя его в виде документа Excel.

Либо следуйте инструкциям Tog (для разделения значений в документе Excel), либо сохраните файл в виде файла .csv, а затем попробуйте импортировать его. Вам может понадобиться отредактировать файл (или скопировать + вставить его содержимое из Excel в блокнот), чтобы удалить любое дополнительное форматирование, созданное сохранением его в формате Excel.

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

История этого формата насчитывает не менее 30 лет. Но даже сейчас, в эпоху повального использования XML, для выгрузки и загрузки больших объемов данных по-прежнему используют CSV. И, несмотря на то, что сам формат довольно неплохо описан в RFC, каждый его понимает по-своему.

В этой статье я попробую обобщить существующие знания об этом формате, указать на типичные ошибки, а также проиллюстрировать описанные проблемы на примере кривой реализации импорта-экспорта в Microsoft Office 2007. Также покажу, как обходить эти проблемы (в т.ч. автоматическое преобразование типов Excel-ом в DATETIME и NUMBER) при открытии .csv.

Начнем с того, что форматом CSV на самом деле называют три разных текстовых формата, отличающихся символами-разделителями: собственно сам CSV (comma-separated values — значения, разделенные запятыми), TSV (tab-separated values — значения, разделенные табуляциями) и SCSV (semicolon separated values — значения, разделенные точкой с запятой). В жизни все три могут называться одним CSV, символ-разделитель в лучшем случае выбирается при экспорте или импорте, а чаще его просто «зашивают» внутрь кода. Это создает массу проблем в попытке разобраться.

Как иллюстрацию возьмем казалось бы тривиальную задачу: импортировать в Microsoft Outlook данные из таблицы в Microsoft Excel.

В Microsoft Excel есть средства экспорта в CSV, а в Microsoft Outlook — соответствующие средства импорта. Что могло быть проще — сделал файлик, «скормил» почтовой программе и — дело сделано? Как бы не так.

Создадим в Excel тестовую табличку:

Текстовая табличка

… и попробуем экспортировать ее в три текстовых формата:

«Текст Unicode» Кодировка — UTF-16, разделители — табуляция, переводы строк — 0×0D, 0×0A, объем файла — 222 байт
«CSV (разделители — запятые)» Кодировка — Windows-1251, разделители — точка с запятой (не запятая!), во второй строке значение телефонов не взято в кавычки, несмотря на запятую, зато взято в кавычки значение «01;02», что правильно. Переводы строк — 0×0D, 0×0A. Объем файла — 110 байт
«Текстовые файлы (с разделителями табуляции)» Кодировка — Windows-1251, разделители — табуляция, переводы строк — 0×0D, 0×0A. Значение «01;02» помещено в кавычки (без особой нужды). Объем файла — 110 байт


Какой вывод мы делаем из этого. То, что здесь Microsoft называет «CSV (разделители — запятые)», на самом деле является форматом с разделителями «точка с запятой». Формат у Microsoft — строго Windows-1251. Поэтому, если у вас в Excel есть Unicode-символы, они на выходе в CSV отобразятся в вопросительные знаки. Также то, что переводами строк является всегда пара символов, то, что Microsoft тупо берет в кавычки все, где видит точку с запятой. Также то, что если у вас нет Unicode-символов вообще, то можно сэкономить на объеме файла. Также то, что Unicode поддерживается только UTF-16, а не UTF-8, что было бы сильно логичнее.

Теперь посмотрим, как на это смотрит Outlook. Попробуем импортировать эти файлы из него, указав такие же источники данных. Outlook 2007: Файл -> Импорт и экспорт… -> Импорт из другой программы или файла. Далее выбираем формат данных: «Значения, разделенные запятыми (Windows)» и «Значения, разделенные табуляцией (Windows)».

«Значения, разделенные табуляцией(Windows)» Скармливаем аутлуку файл tsv, с разделенными табуляцией значениями и. — чтобы вы думали. Outlook склеивает поля и табуляцию не замечает. Заменяем в файле табуляцию на запятые и, как видим, поля уже разбирает, молодец.
«Значения, разделенные запятыми (Windows)» А вот аутлук как раз понимает все верно. Comma — это запятая. Поэтому ожидает в качестве разделителя запятую. А у нас после экселя — точка с запятой. В итоге аутлук распознает все неверно.


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

Мы помним, что Microsoft Excel умеет работать с текстовыми файлами, импортировать данные из CSV, но в версии 2007 он делает это очень странно. Например, если просто открыть файл через меню, то он откроется без какого-либо распознавания формата, просто как текстовый файл, целиком помещенный в первую колонку. В случае, если сделать дабл-клик на CSV, Excel получает другую команду и импортирует CSV как надо, не задавая лишних вопросов. Третий вариант — вставка файла на текущий лист. В этом интерфейсе можно настраивать разделители, сразу же смотреть, что получилось. Но одно но: работает это плохо. Например, Excel при этом не понимает закавыченных переводов строк внутри полей.

Более того, одна и та же функция сохранения в CSV, вызванная через интерфейс и через макрос, работает по-разному. Вариант с макросом не смотрит в региональные настройки вообще.

Стандарта CSV как такового, к сожалению, нет, но, между тем, существует т.н. memo. Это RFC 4180 года, в котором описано все довольно толково. За неимением ничего большего, правильно придерживаться хотя бы RFC. Но для совместимости с Excel следует учесть его собенности.

Вот краткая выжимка рекомендаций RFC 4180 и мои комментарии в квадратных скобках:

  • между строками — перевод строки CRLF [на мой взгляд, им не стоило ограничивать двумя байтами, т.е. как CRLF (0×0D, 0×0A), так и CR 0×0D]
  • разделители — запятые, в конце строки не должно быть запятой,
  • в последней строке CRLF не обязателен,
  • первая строка может быть строкой заголовка (никак не помечается при этом)
  • пробелы, окружающие запятую-разделитель, игнорируются.
  • если значение содержит в себе CRLF, CR, LF (символы-разделители строк), двойную кавычку или запятую (символ-разделитель полей), то заключение значения в кавычки обязательно. В противном случае — допустимо.
  • т.е. допустимы переводы строк внутри поля. Но такие значения полей должны быть обязательно закавычены,
  • если внутри закавыченной части встречаются двойные кавычки, то используется специфический квотинг кавычек в CSV — их дублирование.

Вот в нотации ABNF описание формата:

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

  • строковое значение из цифр, не заключенное в кавычки может быть воспринято программой как числовое, из-за чего может быть потеряна информация, например, лидирующие нули,
  • количество значений в каждой строке может отличаться и необходимо правильно обрабатывать эту ситуацию. В одних ситуациях нужно предупредить пользователя, в других — создавать дополнительные колонки и заполнять их пустыми значениями. Можно определиться, что количество колонок задается заголовком, а можно добавлять их динамически, по мере импорта CSV,
  • Квотить кавычки через «слэш» не по стандарту, делать так не надо.
  • Поскольку типизации полей нет, нет и требования к ним. Разделители целой и дробной частей в разных странах разные, и это приводит к тому, что один и тот же CSV, сгенрированный приложением, в одном экселе «понимается», в другом — нет. Потому что Microsoft Office ориентируется на региональные настройки Windows, а там может быть что угодно. В России там указано, что разделитель — запятая,
  • Если CSV открывать не через меню «Данные», а напрямую, то Excel лишних вопросов не задает, и делает как ему кажется правильным. Например, поле со значением 1.24 он понимает по умолчанию как «24 января»
  • Эксель убивает ведующие нули и приводит типы даже тогда, когда значение указано в кавычках. Делать так не надо, это ошибка. Но чтобы обойти эту проблему экселя, можно сделать небольшой «хак» — значение начать со знака «равно», после чего поставить в кавычках то, что необходимо передать без изменения формата.
  • У экселя есть спецсимвол «равно», который в CSV рассматривается как идентификатор формулы. То есть, если в CSV встретится =2+3, он сложит два и три и результат впишет в ячейку. По стандарту он это делать не должен.

Пример валидного CSV, который можно использовать для тестов:

точно такой же SCSV:

Первый файлик, который реально COMMA-SEPARATED, будучи сохраненным в .csv, Excel-ом не воспринимается вообще.


Второй файлик, который по логике SCSV, экселом воспринимается и выходит вот что:


  1. Учлись пробелы, окружающие разделители
  2. Последний столбец вообще толком не распознался, несмотря на то, что данные в кавычках. Исключение составляет строка с «Петровым» — там корректно распозналось 1,24.
  3. В поле индекс Excel «опустил» ведущие нули.
  4. в самом правом поле последней строки пробелы перед кавычками перестали указывать на спецсимвол

Если же воспользоваться функционалом импорта (Данные -> Из файла) и обозвать при импорте все поля текстовыми, то будет следующая картина:


С приведением типов сработало, но зато теперь не обрабатываются нормально переводы строк и осталась проблема с ведущими нулями, кавычками и лишними пробелами. Да и пользователям так открывать CSV крайне неудобно.

Есть эффективный способ, как заставить Excel не приводить типы, когда это нам не нужно. Но это будет CSV «специально для Excel». Делается это помещением знака «=» перед кавычками везде, где потенциально может возникнуть проблема с типами. Заодно убираем лишние пробелы.

И вот что случаеся, если мы открываем этот файлик в экселе:


Читайте также: