Russian Qt Forum

Qt => ActiveX => Тема начата: antzol от Июнь 05, 2011, 16:31



Название: Excel. Как изменить числовой формат ячеек
Отправлено: antzol от Июнь 05, 2011, 16:31
Собственно, вопрос в названии темы.
Excel пытается числа с запятой привести к формату даты. Необходимо помешать ему это сделать, ну и заодно в ячейках с датой и временем добавить лидирующие нули.
В какую сторону двигаться после выделения нужного диапазона ячеек?


Название: Re: Excel. Как изменить числовой формат ячеек
Отправлено: vvvxmag от Апрель 16, 2012, 15:40
QAxObject *range12 = sheet1->querySubObject( "Range(const QString&, const QString&)")
range12->setProperty("NumberFormat","@"); - устанавливает текстовый формат для диапазона ячеек


Название: Re: Excel. Как изменить числовой формат ячеек
Отправлено: UndeadDragon от Октябрь 19, 2012, 20:19
QAxObject *range12 = sheet1->querySubObject( "Range(const QString&, const QString&)")
range12->setProperty("NumberFormat","@"); - устанавливает текстовый формат для диапазона ячеек
Спасибо, мне тоже помогло, но почему второй параметр собачка, что он означает?


Название: Re: Excel. Как изменить числовой формат ячеек
Отправлено: CMorgan от Октябрь 25, 2012, 10:53
Спасибо, мне тоже помогло, но почему второй параметр собачка, что он означает?

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

У меня, к примеру, работа идет в основном с финансовыми данными и я себе числа float выставляю в
Код:
range12->setProperty("NumberFormat","0,00");