Вставка одного и того же текста, скопированного из разных источников, ведет себя по-разному в Excel - PullRequest
0 голосов
/ 11 июня 2009

Теперь это странно

У нас есть проект, в котором мы читаем некоторые данные из электронной таблицы Excel. Очевидно, что эти данные должны быть в определенном формате. Некоторые поля состоят из цифр, но должны рассматриваться как текст.

Чтобы Excel не был «умным» и изменил типы ячеек, я установил формат в соответствующих ячейках на «текст».

Теперь вот проблема: некоторые из чисел, которые мы вставляем, имеют интервал между цифрами. Когда мы удаляем пробелы, Excel меняет формат ячейки на «стандартный» и превращает текст в формат 2.42805E + 11.

НО: это происходит только тогда, когда текст копируется из некоторых источников. Если вставить номер, скопированный из текстового поля, все получится, когда мы отредактируем пробелы. Если мы копируем то же самое число с веб-страницы, Excel изменит формат ячейки.

Я думал, что копирование-вставка будет копированием-вставкой, но, очевидно, какое-то форматирование или что-то будет в дороге.

Кто-нибудь знает, что вызывает это, или должен заставить Excel перестать быть «умным» при форматировании?

РЕДАКТИРОВАТЬ: Я нашел несколько своеобразное решение для этого. Я записал макрос, который использует функцию «Специальная вставка» с текстом в качестве параметра, и переопределил ctrl-v с ним (в этой конкретной таблице). Работает как шарм! Чувствую себя немного "хаки", хотя. Кто-нибудь может вспомнить сценарий, когда это будет иметь неприятные последствия?

Ответы [ 2 ]

3 голосов
/ 11 июня 2009

Попробуйте использовать специальную команду «Редактировать вставку», она даст вам некоторые элементы управления, чтобы выбрать, что делать с данными.

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

Обычный пользовательский трюк, копирующий данные из Excel, состоит в том, чтобы вставить их в Блокнот и вырезать обратно в буфер обмена, что сводит все форматирование к обычному тексту. Однако это не поможет вам вставить данные в Excel.

0 голосов
/ 11 июня 2009

Копировать-вставить в Windows сохраняет форматирование. Один из способов избавиться от форматирования - вставить текст, например, в. сначала блокнот, затем выберите и скопируйте его снова. Это теряет любое скопированное форматирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...