crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Excel не получается прочитать ячейку
LEO
  опции профиля:
сообщение 27.9.2010, 12:27
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 8.3.2009
Пользователь №: 595

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем доброго времени суток. Столкнулся с проблемой: запись в таблицу происходит замечательно, а вот прочитать не удается. wiki уже смотрел + кучу всего облазил. ниже привожу код, с права значения взяты с дебагера. Заранее благодарен.
Раскрывающийся текст
    QAxObject* excel = new QAxObject( "Excel.Application", this );
    excel->dynamicCall( "SetVisible(bool)", true );
    QAxObject *workBooks = excel->querySubObject("Workbooks");
    QAxObject *workBook = workBooks->querySubObject("Open(const QString&)", this->fileName);
    QAxObject *sheets = workBook->querySubObject("Sheets");
    QAxObject *currentSheet = sheets->querySubObject("Item(const QVariant&)", QVariant(this->sheetName));
    currentSheet->dynamicCall("Select()");
    QAxObject* cell = currentSheet->querySubObject("Range(C5)");
    cell->dynamicCall("Select()");
    cell->dynamicCall("SetValue(const QVariant&)", QVariant("TEST"));
//До этого момента все идет как по маслу
    QString r1 = cell->property("Value").toString();     // r1 = ""
    r1 = cell->dynamicCall("Value").toString();           // r1 = ""
    r1 = cell->property("Value()").toString();              // r1 = ""
    r1 = cell->dynamicCall("Value()").toString();         // r1 = ""
    QVariant r2 = cell->property("Value");       // r2->data = invalid
    r2 = cell->dynamicCall("Value");               // r2 = invalid
    r2 = cell->property("Value()");                  // r2 = invalid
    r2 = cell->dynamicCall("Value()");             // r2 = invalid
    r2 = cell->property("Value").toString();            // r2 = ""
    r2 = cell->dynamicCall("Value").toString();       // r2 = ""
    r2 = cell->property("Value()").toString();         // r2 = ""
    r2 = cell->dynamicCall("Value()").toString();    // r2 = ""
Офис 2010, QT 4.7
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
dark_elf
  опции профиля:
сообщение 11.10.2010, 16:39
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 11.10.2010
Пользователь №: 2103

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вот это почитай (сломали они что-то в 4.7.0, в 4.6.3 работает).

http://bugreports.qt.nokia.com/browse/QTBUG-13845
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.1.2025, 21:12