
Открываем CSV в Excel: разделитель, кодировка и пропавшие буквы
Выгрузка сваливается в один столбец, буквы превращаются в «?». Проблемы с разделителем и кодировкой UTF-8 в CSV и способы их решения.
Вы дважды щёлкаете по CSV-файлу, выгруженному из 1С или WMS, и видите: вся таблица втиснута в один столбец, вместо «Мука, 50 кг» непонятные знаки, вместо «o'» вопрос. Это не значит, что файл испорчен: Excel прочитал его по правилам, которые сам угадал. А угадывает он неверно в двух местах: разделитель и кодировка. Ниже о том, как определить обе проблемы, правильно открыть файл и сохранить его обратно.
Почему таблица оказалась в одном столбце
CSV это текстовый файл, где столбцы отделены особым знаком. В англоязычных системах это обычно запятая, а в наших региональных настройках чаще точка с запятой, потому что запятая занята как десятичный знак. Если файл записан с одним разделителем, а Excel ждёт другой, всё попадёт в один столбец. Откройте файл в обычном текстовом редакторе: сразу будет видно, какой знак стоит между столбцами.
Если файл уже открылся в один столбец, его можно исправить без потерь: выделите столбец, на вкладке «Данные» выберите «Текст по столбцам» (Text to Columns) и укажите разделитель, который стоит в файле.
Почему портятся буквы
При открытии двойным щелчком Excel читает файл в своей кодировке ANSI, если в начале файла нет метки UTF-8 (BOM). Если файл записан в UTF-8, латинские буквы сохранятся, а кириллица и особые знаки, в том числе узбекские буквы с апострофом, отобразятся неверно. Бывает два вида проблемы:
- набор странных символов (вроде «РњСѓРєР°» вместо «Мука»): файл ещё не испорчен, он просто прочитан не в той кодировке; если выбрать верную кодировку, текст вернётся;
- вопросительные знаки: эти символы потеряны. Обычно так происходит, когда файл пересохранён в неверной кодировке, и исходные буквы уже не вернуть.
Поэтому исходный файл никогда не перезаписывайте. Работайте на копии.
Как открыть правильно
- Запустите Excel и вместо двойного щелчка по файлу на вкладке «Данные» выберите «Из текста/CSV» (From Text/CSV).
- Укажите файл. Откроется окно с примерами строк.
- В поле «Источник файла» (File Origin) выберите 65001: Юникод (UTF-8). Если файл пришёл из 1С в кодировке Windows-1251, выберите её: какая нужна, подскажут буквы в примерах строк.
- В поле «Разделитель» (Delimiter) выберите точку с запятой или запятую. В образце должно быть видно, что столбцы разделились верно.
- Перед нажатием «Загрузить» откройте «Преобразовать данные» (Transform Data) и отметьте столбцы кодов как текст.
Условная проверка: в файле есть строки «Масло, 5 л» и «Чай чёрный, 100 г». После открытия найдите их первыми и убедитесь, что буквы и апострофы на месте. Только после этого переходите к остальной работе.
Нули, штрихкоды и даты
В CSV всё записано текстом, но при открытии Excel сам узнаёт числа. В итоге код 000451 становится 451, 13-значный штрихкод превращается в 4,78E+12, а партия «12-05» в дату. Столбцы кодов, штрихкодов, партий и артикулов отметьте как текст ещё при открытии. С дробными числами тоже осторожно: 12.5 из файла в ваших настройках может остаться текстом, потому что у вас десятичный знак запятая.
Сохранение и загрузка обратно
Чтобы загрузить очищенную таблицу обратно в 1С или WMS, при сохранении CSV выберите тип «CSV UTF-8». Обычный тип «CSV» сохраняет в старой кодировке, и узбекские буквы превратятся в вопросительные знаки. Разделитель зависит от региональных настроек Windows, поэтому заранее выясните, какой разделитель ждёт принимающая система, и при необходимости спросите специалиста по 1С.
После сохранения откройте файл в текстовом редакторе и проверьте: буквы на месте, разделитель верный, нули не пропали. Загрузку лучше сначала опробовать на небольшом образце.
Вывод
Проблемы с CSV обычно начинаются с двух вещей: неверный разделитель и неверная кодировка. Открытие через «Из текста/CSV», выбор нужной кодировки, текстовый формат кодовых столбцов и сохранённый исходник защищают данные от потерь. SkladSoft открывает выгруженные файлы на копии с верной кодировкой и разделителем, находит испорченные символы и передаёт очищенный файл, готовый к загрузке; загрузка в систему выполняется только с вашего письменного согласия.