как в Excel отобразить длинное целое в текстовом формате?
имеем : 0123456789012345678990
формат ячейки - текстовый
при вводе ручками все Ок!
но при экспорте данных в Excel получаем - число в Е-формате и
обрезанное 15 значащими цифрами, далее 00000
или как увеличить количество отображаемых разрядов числа?
Excel, число в текстовом формате
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Excel не работает с типом OLEVariant\Decimal
Максимум - это Double
Т.е. 15 значащих разрядов в масштабированном числе - это предел.
Ввести я ячейку более длинную строку цифр можно двумя способами:
1) Назначить ячейке текстовый формат, а потом ввести значение
2) использовать одинарную кавычку перед первой цифрой
Кавычка не отображается, но дает Excel-ю понять,
что к этому значению задо применить текстовый формат.
Максимум - это Double
Т.е. 15 значащих разрядов в масштабированном числе - это предел.
Ввести я ячейку более длинную строку цифр можно двумя способами:
1) Назначить ячейке текстовый формат, а потом ввести значение
2) использовать одинарную кавычку перед первой цифрой
Кавычка не отображается, но дает Excel-ю понять,
что к этому значению задо применить текстовый формат.
Как я понял, у вас проблемы с импортом данных в Excel текстовых файлов типа txt, csv ?
Которые в блокноте просматриваются в виде:
AI;X001_AT_0003;Служебный параметр AT_0003;0123456789012345678990
AI;X001_AT_0004;Служебный параметр AT_0004;0123456789012345678991
При импорте в окне "Мастера текстов (импорт)" вы указываете тип разделителей, а также для каждого столбца данных вам необходимо указать тип, по умолчанию Excel выставляет "Общий", а необходимо указать "Текстовый", тогда ваше число 0123456789012345678990 занесется в ячейку как текст в полном виде.
Этот мастер можно вызвать через меню Данные\Текст по столбцам. Перед этим необходимо выделить столбец, в котором находиться еще не разделенный скопированный текст, например из буфера обмена.
Которые в блокноте просматриваются в виде:
AI;X001_AT_0003;Служебный параметр AT_0003;0123456789012345678990
AI;X001_AT_0004;Служебный параметр AT_0004;0123456789012345678991
При импорте в окне "Мастера текстов (импорт)" вы указываете тип разделителей, а также для каждого столбца данных вам необходимо указать тип, по умолчанию Excel выставляет "Общий", а необходимо указать "Текстовый", тогда ваше число 0123456789012345678990 занесется в ячейку как текст в полном виде.
Этот мастер можно вызвать через меню Данные\Текст по столбцам. Перед этим необходимо выделить столбец, в котором находиться еще не разделенный скопированный текст, например из буфера обмена.
спасибо всем за желание помочь!
может я не корректно поставил вопрос или описал что-надо!?
из своей проги не могу залить длинные числа (передаю строку) в Excel, формат колонки, ячейки текстовый.
что получается см. выше
пока нашел только одно решение проблемы:
1.записывать в slk(не знаю формат xls)
2. программно искать строки в нем типа:
C;K23456789098765436375 заменять на C;K"23456789098765436375" -
вот он вроде бы счастье мне, но теряю возможности xls, что опять оч. плохо.
вот и хотелось узнать про волшебную 'галочку', чтоб отключить преобразование строки цифр в число
может я не корректно поставил вопрос или описал что-надо!?
из своей проги не могу залить длинные числа (передаю строку) в Excel, формат колонки, ячейки текстовый.
что получается см. выше
пока нашел только одно решение проблемы:
1.записывать в slk(не знаю формат xls)
2. программно искать строки в нем типа:
C;K23456789098765436375 заменять на C;K"23456789098765436375" -
вот он вроде бы счастье мне, но теряю возможности xls, что опять оч. плохо.
вот и хотелось узнать про волшебную 'галочку', чтоб отключить преобразование строки цифр в число
Может вам писать в файл типа .csv ?
в итоге у вас будет файл вида:
AI;X001_AT_0003;Служебный параметр AT_0003;0123456789012345678990
AI;X001_AT_0004;Служебный параметр AT_0004;0123456789012345678991
Затем открывать его в Excel и выполнять глобальный макрос:
Примечание. Макрос получен операцией записи макросов по проделанным действиям \Данные\Текст по столбцам
в итоге у вас будет файл вида:
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
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Ну добавьте же одинарную кавычку в начале передаваемой строки!спасибо всем за желание помочь!
может я не корректно поставил вопрос или описал что-надо!?
из своей проги не могу залить длинные числа (передаю строку) в Excel, формат колонки, ячейки текстовый.