%20%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0%20%D0%B2%20%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%BC%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%3F.png)
Итак, это странная проблема, с которой сталкиваются некоторые наши пользователи, и я смог ее подтвердить, и она не имеет для меня абсолютно никакого смысла.
В принципе, я работаю над приложением, которое в некоторых случаях экспортирует файлы в CSV или TSV, и эти файлы часто загружаются в Excel для обработки перед загрузкой обратно в нашу систему. Данные чувствительны к регистру, а поле, в котором это происходит, содержит текст, которому предшествуют знаки плюс (например, +Data +Like +This
)
Кажется, в некоторых случаях при импорте файлов регистр текста будет изменен. Похоже, это происходит только в том случае, если вы не меняете форматирование столбца на текст в диалоговом окне импорта, хотя я видел случаи, когда этого не происходило без этого.
Вот несколько изображений, показывающих, что я имею в виду. Вот необработанные данные, показанные в Notepad++. Обратите внимание, что строка 50 — это «+Mario +Party +Kit», с правильным регистром.
А вот текст в Excel после импорта, но без изменения каких-либо параметров форматирования. Ячейка интерпретируется как формула, так как начинается с +, но вы можете видеть в верхней строке, что регистр изменился на "+mario +party +Kit". (Пользователи часто просто импортируют сразу, а затем выполняют поиск и замену = на `, чтобы исправить формулу)
Однако если я импортирую столбец как текст (выбрав столбец и выбрав текст в качестве формата в диалоговом окне «Импорт текста»), вы увидите, что регистр сохраняется.
Может кто-нибудь объяснить, что здесь происходит? У нас есть обходной путь импорта в виде текста, но пользователи часто забывают об этом шаге и в итоге тратят время впустую. Я прочитал много похожих вопросов о форматировании чисел, что, по крайней мере, имеет смысл в некоторых случаях использования, но изменение регистра здесь для меня не имеет никакого смысла.
Я подтвердил, что это происходит в Excel 2007, 2010 и 2013, а также на нескольких компьютерах.Вот ссылкав файл, показанный в моих примерах.
решение1
Если вы немного задумаетесь о том, что текст интерпретируется как формулы - вы должны понять, что ЭТО и есть виновник и причина ваших проблем.
Строка, отформатированная как +DefinedName
ссылка на DefinedName
в менеджере имен
(посмотрите в справке, слишком по-разному, чтобы объяснять для всех версий Excel)
Либо отформатируйте ячейки/импортированные столбцы как текст, либо добавьте a '
ко всем начальным символам =
, +
и -
(нужно еще?)
Другие возможные альтернативы: (как указаноТехнарь007
Как настроить Excel так, чтобы он всегда импортировал все столбцы CSV-файлов как текст?