Я столкнулся с проблемой в Microsoft Excel 2010, связанной с автоматическим форматированием строки в дату, и она, похоже, теряет первоначальное значение ячейки.
Действия по воспроизведению:
1 Создайте следующий файл CSV:
username, points
phil, 1
october51, 5
2 Откройте файл в Microsoft Excel 2010
Примечание: есть строка с именем пользователя october51
. Я хотел бы, чтобы Excel сохранил это значение вместо преобразования его в какое-то другое значение.
Пример файла CSV, открытого в текстовом редакторе
Когда я открываю этот образец CSV-файла в текстовом редакторе (например, gVim), я вижу именно то, что ожидаю:
Образец файла CSV, открытого в Microsoft Excel 2010
Тем не менее, когда я открываю файл CSV в Excel, форматирует october51
с Oct-51
Я понимаю, почему Excel пытается отформатировать поле в более удобочитаемый формат, но я бы предпочел оставить значение october51
так как это чье-то имя пользователя.
Пробовать разные форматы ячеек в Excel
Обратите внимание, что при первом открытии файла формат поля для ячейки Oct-51
- Custom. Итак, я попытался изменить формат текста
Это не лучше. Значение ячейки - 18902
вместо october51
чего я и ожидал. Похоже, что Excel выбрасывает исходное значение ячейки сразу после открытия файла.
Я перепробовал все возможные форматы (например, «Общий», «Текст», «Специальный», «Пользовательский»), и ни один из них не вывел значение october51
.
Истинная проблема заключается в том, что это форматирование ячейки сохраняется при сохранении файла. Если я сохраню этот файл в Excel и снова открою его в текстовом редакторе, имя пользователя october51
будет фактически изменено на Oct-51
или 18902
, в зависимости от того, какой формат был выбран для ячейки.