Я столкнулся с проблемой в 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 , в зависимости от того, какой формат был выбран для ячейки.





