15

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

Представьте, что у меня есть колонка под названием "Справочник по продукту". В этом столбце у меня есть много идентификаторов типа:

  • 001145
  • 55666
  • 02133

Всякий раз, когда я открываю файл Excel, он форматирует эти числа так:

  • 1145
  • 55666
  • 2133

Что совершенно неправильно. Когда я выделяю столбец и форматирую его как текст, предыдущие 0 в начале чисел не возвращаются.

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

Кто-нибудь нашел способ обойти это и мог бы помочь мне?

Спасибо,

6 ответов6

15

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

="001145",="55666",="02133"

Самый простой способ сделать это - найти-заменить на , с ",=" , заменив конец строк (для этого вам может понадобиться расширенный редактор, такой как Notepad++) на "\r\n=" и выполнив начало и конец файла вручную.

9
  1. Измените расширение файла с «.csv» на «.txt» в файле, с которым у вас возникли проблемы.
  2. Открой Excel сам по себе. Не нажимайте на файл, чтобы открыть его.
  3. Нажмите "Открыть", измените типы файлов для поиска с "Все файлы Excel" на "Все файлы"
  4. Найдите свой файл и нажмите "Открыть". Так как Excel не автоматически форматирует txt, он будет проходить через мастера.
  5. Убедитесь, что выбран переключатель "Разграничено". Нажмите кнопку "Далее".
  6. Установите флажок "запятая" и продолжайте нажимать кнопку "Далее", пока вы ВИДЕТЕ (но не нажимаете на нее) кнопку завершения.
  7. прокрутите каждый столбец в электронной таблице, выделите каждый столбец (столбцы), которые вы хотите отформатировать вручную, и измените формат на "текст".
  8. Нажмите кнопку Готово.
2

Установите OpenOffice из Oracle и сделайте то же самое с форматом OpenOffice CSV, и это работает.

У меня была эта проблема в Windows 7 Pro с Excel 2010. Раньше я мог копировать контакты Outlook в Excel, сохранять в формате CSV и импортировать в Gmail и Android (мобильные номера с начальными нулями и знаками +).

1

нажмите на ячейку, в которой вы хотите оставить начальные нули, затем: щелкните правой кнопкой мыши> Форматировать ячейки> Пользовательский> 0> и введите общее число, которое должно быть в ячейке, например: Если мне нужно 00001234, тогда я поставлю 00000000 как число нулей, все, что говорит это сделать, это поместить общее число 8 в ячейку, у меня уже есть 1234, так что это составит разницу с еще 4 ведущими нулями.

Я использую это ежедневно для импорта электронных таблиц.

1

Щелкните правой кнопкой мыши ячейки, содержащие ваши данные, и выберите пункт меню Форматировать ячейки .... Затем на первой вкладке ("Число") измените категорию с Общей на Текст. Это не позволит Excel автоматически отформатировать эти ячейки как числа и, таким образом, удалить начальные нули (которые не имеют смысла в контексте численного анализа, но имеют большое значение при работе с идентификаторами продуктов).

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

0

Чтобы добавить ответ @ Jon на этот вопрос, у меня был файл CSV, в котором было несколько столбцов с начальными нулями и более длинными числами, которые либо теряли бы начальный ноль, либо преобразовывали длинное число в научную нотацию, либо и то и другое при импорте.

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

  1. Выберите все ячейки на листе:

  1. Измените формат каждой ячейки:

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

  1. На вкладке « Data » нажмите « From Text:

  1. Выберите файл .txt или .csv и нажмите « Import

  2. Выберите с Delimited и нажмите `Далее:

  1. Выберите подходящий разделитель (я выбрал Comma) и отмените выбор других, которые не применяются, затем нажмите кнопку Next:

  1. Прокрутите вправо, чтобы найти столбцы, которые нужно отформатировать как Text чтобы сохранить начальные нули и предотвратить научную запись. Щелкните столбец (он должен потемнеть), затем выберите « Text в списке параметров. Обязательно выберите все столбцы, которые должны быть правильно отформатированы:

  1. Затем нажмите Finish . Если вы прокрутите столбцы, которые вы отформатировали, вы увидите, что все ведущие нули сохраняются и что длинные строки чисел не представлены в научной нотации.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .