AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.01.2013, 11:34   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Подниму тему.

Если значение ячейки состоит только из цифр, то почему-то после смены Excel'ем формата у ячейки с числового на текстовый, тип значения ячейки автоматически не преобразуется из COMVariantType::VT_R8 в COMVariantType::VT_BSTR.
Хотя визуально Excel начинает отображать это значение как текстовое: без дробной части и с выравниванием по левому краю! Правда без стандартного предупреждения в виде зелёненького уголочка "Число сохранено как текст". Если выполнить двойной щелчок по ячейке то такое предупреждение появится и тип значения сменится на COMVariantType::VT_BSTR.

При попытке программно прочитать такую ячейку возникает описанная ТС ситуация:
Цитата:
Сообщение от somebody Посмотреть сообщение
Проблема возникает, если текст в ячейке состоит полностью из цифр. Cell.value() и cell.value2() для таких значений возвращают тип COMVariantType::VT_R8, т. е. число с плавающей точкой, и .bstr() даёт пустую строку. А хотелось бы получить COMVariantType::VT_BSTR. Присваивание типа не проходит, т. е.

cv.variantType(COMVariantType::VT_BSTR);
cv = cell.value();

не помогает.
Может быть всё-таки есть какой-то способ програмно заставить ячейку обновить тип своего значения? А то преобразовывать double в строку, как-то не комильфо.
Теги
excel, импорт, импорт из excel

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
Чтение ИЗ Excel (а не запись в него) Mechanizm DAX: Программирование 10 04.07.2004 11:50
Чтение Excel-ячейки в Аксапте (2.5) через COM AKIS DAX: Программирование 3 25.03.2004 20:18

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:22.