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

Собственно, здесь нужно проверить две вещи. Во-первых, помещает ли Excel начальные нули в исходный файл CSV?

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

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

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

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

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

  1. Убедитесь, что файл CSV переименован и имеет расширение TXT. Вы должны выполнить этот шаг, иначе остальные шаги не будут работать, потому что Excel не запустит мастер импорта текста на шаге 5.

  2. В Excel щелкните инструмент «Открыть» на панели инструментов. Excel отображает диалоговое окно Открыть. (Чтобы открыть это диалоговое окно в Excel 2007, нажмите кнопку «Office», а затем «Открыть».)

  3. В раскрывающемся списке Тип файлов в нижней части диалогового окна укажите, что вы хотите открыть текстовые файлы (.prn; .txt; * .csv).

  4. Выберите файл, который вы переименовали на шаге 1.

  5. Щелкните «Открыть». Excel запускает мастер импорта текста, отображая диалоговое окно «Шаг 1 из 3». (См. Рис. 1.)

  6. Убедитесь, что выбран вариант «С разделителями», затем нажмите «Далее». Excel отображает диалоговое окно «Шаг 2 из 3».

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

  8. Внизу диалогового окна щелкните поле с ведущими нулями. Теперь должен быть выбран весь столбец.

  9. Убедитесь, что в области «Формат данных столбца» установлен переключатель «Текст».

  10. Повторите шаги 8 и 9 для всех других полей, у которых есть ведущие нули.

  11. Щелкните Готово. Ваш файл импортирован, а ведущие нули остались нетронутыми.

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

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2588) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздние версии) здесь:

link: / excelribbon-Handling_Leading_Zeros_in_CSV_Files [Обработка начальных нулей в файлах CSV].