остановить MS Excel автоматического форматирования числовых строк в виде чисел - PullRequest
3 голосов
/ 12 ноября 2008

Я экспортирую отчет из MS Access (2003) в вывод Excel (97-2003).

В одном из столбцов есть строка символов, которая является числовой для некоторых строк, например, "05-0880".

Когда я открываю выходной файл в MS Excel, соответствующая ячейка получает номер -372424 .

Я предполагаю, что это вызвано тем, что Excel является "умным" и решает, что "05-0808" представляет какое-либо значение времени или даты, и преобразовывает строку в соответствующее числовое значение.

В моем случае данные представляют собой коды продуктов, и это преобразование очень нежелательно. Если я экспортирую вывод основного запроса отчета (экспорт таблицы), это преобразование не произойдет. (Предполагается, что для доступа к выводу в формате Excel должна быть предусмотрена возможность предотвращения преобразования).

Я попытался изменить атрибут формата поля в отчете, но нет опции «Текст», и «Стандарт», похоже, ведет себя так же, как и оставить его пустым.

Есть ли способ использовать функцию format () для принудительного вывода строки? Если да, поможет ли это даже тогда, когда Excel все еще может сделать свое умное преобразование?

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

Ответы [ 3 ]

2 голосов
/ 12 ноября 2008

На самом деле, это больше похоже на обратное. MS Access слишком тупой, чтобы правильно экспортировать его из отчета. Вы можете бронировать данные с кавычками или апострофами; однако, как вы знаете, это довольно уродливо и требует постобработки.

Мой способ - тщательно составить запрос и затем экспортировать результаты запроса, а не отчета. Это даст вам ожидаемые результаты.

1 голос
/ 12 ноября 2008

Экспорт "'05 -0880" вместо "05-0880".

0 голосов
/ 29 января 2014

убедитесь, что вы используете одинарную цитату, а не другой апостроф

...