Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 3
Регистрация: 16.11.2009
Сообщений: 45
1

Вставка в Excel числа размером в 20 символов через OlePropertySet Builder'a

25.06.2012, 17:40. Просмотров 1708. Ответов 4
Метки нет (Все метки)

Доброго времени суток.

Такой вопрос.
Работая с Excel напрямую, справлялся с задачей вставки в ячейки чисел размером в 20 символов. Зная дурацкий эффект Excel округлять числа вида "24541128447635184125" в "2,45+E19", выкручивался алгоритмом: "выделить ячейку"-"назначить ячейке формат ячейки текстовый"-"Вставить это число из контексного меню Специальная вставка-Как текст". Все отображалось нормально.

Как теперь сделать это программно в Builder'e? Вопрос к специалистам, хочется автоматизировать данные рутинные операции.

Сейчас я пользуюсь данным кодом и получаю свои ненавистные "2,45+E19":
C++
1
mExcel.OlePropertyGet("ActiveSheet").OlePropertyGet("Cells", i+1, "C").OlePropertySet("Value", WideString(Num));
Прошу помощи!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2012, 17:40
Ответы с готовыми решениями:

Excel 2010 и OlePropertySet
Excel 2010 и C++ Builder XE7. Пытаюсь сделать простенькую табличку и заполняю ячейки вот так:...

Тип переменной для OlePropertySet Excel.Application
Заполняю ячейки в Excel таблице. Variant v; if(!fStart) { try { ...

Excel VBA: вставка символов в ячейку
Всем добрый день! Если кто может, помогите. Нужен макрос для Excel, который вставлял бы после...

Как загрузить файл *.xls в программу из под Buildera без запуска Excel'я?
Подскажите пожайлуста, как загрузить файл *.xls в программу из под Buildera без запуска Excel'я....

4
4945 / 2409 / 530
Регистрация: 05.06.2008
Сообщений: 7,511
Записей в блоге: 3
25.06.2012, 17:43 2
До вставки числа в ексель переди это число в текст и вставяй текстом
0
0 / 0 / 3
Регистрация: 16.11.2009
Сообщений: 45
25.06.2012, 17:48  [ТС] 3
Num и есть строка.

C++
1
AnsiString Num;
Знаю, что проблема в
C++
1
.OlePropertySet("Value","
, как вставить текстом? на
C++
1
.OlePropertySet("Text", WideString(Num));
ругается
0
4945 / 2409 / 530
Регистрация: 05.06.2008
Сообщений: 7,511
Записей в блоге: 3
25.06.2012, 17:54 4
А если так

C++
1
mExcel.OlePropertyGet("ActiveSheet").OlePropertyGet("Cells", i+1, "C").OlePropertySet("Value", Num.c_str());
0
0 / 0 / 3
Регистрация: 16.11.2009
Сообщений: 45
26.06.2012, 12:16  [ТС] 5
Вот решение проблемы:

C++
1
2
3
Num="'" + "132321321321321321321321321321321321321";
 
mExcel.OlePropertyGet("ActiveSheet").OlePropertyGet("Cells", i+1, "C").OlePropertySet("Value", WideString(Num));
все отображает без проблем
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2012, 12:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вставка содержимого поля MEMO в Excel. Режет до 256 символов
Возникла следующая проблема. Вставляю в подготовленный шаблон Excel формата 97-2009 содержимое...

Вставка пробела в строку через каждые пять символов
День добрый! Помогите вставить пробел в каждые 5 символов, изначально в строке нет ни одного...

Запись в ячейку excel числа 20 символов
Как в ячейку записать число больше 15 символов, что-бы оно корректно отображалось? ...

Вставка в строку нескольких символов и удаление символов из строки
не могу найти информацию про это:( какими операторами это делается?

Вывод n числа символов после запятой через цикл
Задание по лабе:Программа должна для заданного натурального числа n выводить первые m цифр после...

Excel через ODBC, Как выбрать через Select столбец из файла Excel по букве?
Собственно проблема такая. Надо с помощью команды Select получить данные из столбца файла Excel по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.