Russian Qt Forum
Май 04, 2024, 02:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Excel Range чтение/запись диапазона значений возможно ли?  (Прочитано 4959 раз)
CMorgan
Гость
« : Сентябрь 27, 2011, 17:12 »

Здравствуйте.

Неожиданно возник вопрос возможно ли в принципе через QT (QAxObject) в Excel читать или писать диапазоны значений?

Код:
QVariant data;
QAxObject* range = _curSheet->querySubObject("Range(const QVariant&)",QVariant("A1:A2"));
data=range->dynamicCall("Value()");
выдает QVariant типа QList с пустыми значениями внутри Обеспокоенный

Код:
QStringList NewData;
NewData.push_back("1111");
NewData.push_back("2222");
QVariant data=QVariant(NewData);
QAxObject* range = _curSheet->querySubObject("Range(const QVariant&)",QVariant("A1:A2"));
range->setProperty("Value",data);
Прописывает в диапазоне (A1:A2) первое значение из data, т.е. "1111" Обеспокоенный

Записан
CMorgan
Гость
« Ответ #1 : Октябрь 03, 2011, 15:23 »

Запись пачкой я нашел как  сделать (пример для QList<QVariant> _data):
Код:
int excel::setRange(int row_b,int column_b)
{

int row_e=_data.size();
int column_e=_data[0].toList().size();

row_e=row_e+row_b-1;
column_e=column_e+column_b-1;

QString RangeStr=range2a1(column_b,row_b,column_e,row_e);
QAxObject *range = _curSheet->querySubObject("Range(QString)",RangeStr);

range->setProperty("Value",QVariant(_data));

delete range;

return 0;

}


А вот с чтением беда-беда:(
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 20.