Почему Excel (иногда) меняет регистр текста в импортированном файле?

Почему Excel (иногда) меняет регистр текста в импортированном файле?

Итак, это странная проблема, с которой сталкиваются некоторые наши пользователи, и я смог ее подтвердить, и она не имеет для меня абсолютно никакого смысла.

В принципе, я работаю над приложением, которое в некоторых случаях экспортирует файлы в CSV или TSV, и эти файлы часто загружаются в Excel для обработки перед загрузкой обратно в нашу систему. Данные чувствительны к регистру, а поле, в котором это происходит, содержит текст, которому предшествуют знаки плюс (например, +Data +Like +This)

Кажется, в некоторых случаях при импорте файлов регистр текста будет изменен. Похоже, это происходит только в том случае, если вы не меняете форматирование столбца на текст в диалоговом окне импорта, хотя я видел случаи, когда этого не происходило без этого.

Вот несколько изображений, показывающих, что я имею в виду. Вот необработанные данные, показанные в Notepad++. Обратите внимание, что строка 50 — это «+Mario +Party +Kit», с правильным регистром. блокнот++

А вот текст в Excel после импорта, но без изменения каких-либо параметров форматирования. Ячейка интерпретируется как формула, так как начинается с +, но вы можете видеть в верхней строке, что регистр изменился на "+mario +party +Kit". (Пользователи часто просто импортируют сразу, а затем выполняют поиск и замену = на `, чтобы исправить формулу)

общее форматирование Excel

Однако если я импортирую столбец как текст (выбрав столбец и выбрав текст в качестве формата в диалоговом окне «Импорт текста»), вы увидите, что регистр сохраняется.

Форматирование текста Excel

Может кто-нибудь объяснить, что здесь происходит? У нас есть обходной путь импорта в виде текста, но пользователи часто забывают об этом шаге и в итоге тратят время впустую. Я прочитал много похожих вопросов о форматировании чисел, что, по крайней мере, имеет смысл в некоторых случаях использования, но изменение регистра здесь для меня не имеет никакого смысла.

Я подтвердил, что это происходит в Excel 2007, 2010 и 2013, а также на нескольких компьютерах.Вот ссылкав файл, показанный в моих примерах.

решение1

Если вы немного задумаетесь о том, что текст интерпретируется как формулы - вы должны понять, что ЭТО и есть виновник и причина ваших проблем.

Строка, отформатированная как +DefinedNameссылка на DefinedNameв менеджере имен
(посмотрите в справке, слишком по-разному, чтобы объяснять для всех версий Excel)

Либо отформатируйте ячейки/импортированные столбцы как текст, либо добавьте a 'ко всем начальным символам =, +и -(нужно еще?)

Другие возможные альтернативы: (как указаноТехнарь007
Как настроить Excel так, чтобы он всегда импортировал все столбцы CSV-файлов как текст?

Связанный контент