Страница 1 из 1
Excel, число в текстовом формате
Добавлено: 12 окт 2005, 15:44
stray
как в Excel отобразить длинное целое в текстовом формате?
имеем : 0123456789012345678990
формат ячейки - текстовый
при вводе ручками все Ок!
но при экспорте данных в Excel получаем - число в Е-формате и
обрезанное 15 значащими цифрами, далее 00000
или как увеличить количество отображаемых разрядов числа?
Добавлено: 12 окт 2005, 21:30
Naeel Maqsudov
Excel не работает с типом OLEVariant\Decimal
Максимум - это Double
Т.е. 15 значащих разрядов в масштабированном числе - это предел.
Ввести я ячейку более длинную строку цифр можно двумя способами:
1) Назначить ячейке текстовый формат, а потом ввести значение
2) использовать одинарную кавычку перед первой цифрой
Кавычка не отображается, но дает Excel-ю понять,
что к этому значению задо применить текстовый формат.
Добавлено: 13 окт 2005, 06:17
Avsha
Как я понял, у вас проблемы с импортом данных в Excel текстовых файлов типа txt, csv ?
Которые в блокноте просматриваются в виде:
AI;X001_AT_0003;Служебный параметр AT_0003;0123456789012345678990
AI;X001_AT_0004;Служебный параметр AT_0004;0123456789012345678991
При импорте в окне "Мастера текстов (импорт)" вы указываете тип разделителей, а также для каждого столбца данных вам необходимо указать тип, по умолчанию Excel выставляет "Общий", а необходимо указать "Текстовый", тогда ваше число 0123456789012345678990 занесется в ячейку как текст в полном виде.
Этот мастер можно вызвать через меню Данные\Текст по столбцам. Перед этим необходимо выделить столбец, в котором находиться еще не разделенный скопированный текст, например из буфера обмена.
Добавлено: 13 окт 2005, 09:47
stray
спасибо всем за желание помочь!
может я не корректно поставил вопрос или описал что-надо!?
из своей проги не могу залить длинные числа (передаю строку) в Excel, формат колонки, ячейки текстовый.
что получается см. выше
пока нашел только одно решение проблемы:
1.записывать в slk(не знаю формат xls)
2. программно искать строки в нем типа:
C;K23456789098765436375 заменять на C;K"23456789098765436375" -
вот он вроде бы счастье мне, но теряю возможности xls, что опять оч. плохо.
вот и хотелось узнать про волшебную 'галочку', чтоб отключить преобразование строки цифр в число
Добавлено: 13 окт 2005, 19:10
Avsha
Может вам писать в файл типа .csv ?
в итоге у вас будет файл вида:
AI;X001_AT_0003;Служебный параметр AT_0003;0123456789012345678990
AI;X001_AT_0004;Служебный параметр AT_0004;0123456789012345678991
Затем открывать его в Excel и выполнять глобальный макрос:
Код: Выделить всё
Sub Макрос1()
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))
End Sub
Примечание. Макрос получен операцией записи макросов по проделанным действиям \Данные\Текст по столбцам
Добавлено: 14 окт 2005, 22:03
Naeel Maqsudov
спасибо всем за желание помочь!
может я не корректно поставил вопрос или описал что-надо!?
из своей проги не могу залить длинные числа (передаю строку) в Excel, формат колонки, ячейки текстовый.
Ну добавьте же одинарную кавычку в начале передаваемой строки!