crossplatform.ru

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


  Ответ в Excel не получается прочитать ячейку
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
arial Дата 17.11.2010, 11:20
  Получилось эту проблему на 4.7 решить? А то я тоже с ней столкнулся.
Rocky Дата 24.10.2010, 16:13
  А я щас столкнулся вообще с тем, что код, который менял ширину ячейки в excel, обводил ячейки в рамку - ни фига не работает... Блин. Придется наверное обратно с 4.7 уходить на 4.6.3 =(
dark_elf Дата 11.10.2010, 16:39
  Вот это почитай (сломали они что-то в 4.7.0, в 4.6.3 работает).

http://bugreports.qt.nokia.com/browse/QTBUG-13845
LEO Дата 27.9.2010, 15:59
  Проблема все таки остается, так как для числовых значений результат получаем 0 и ошибку:
Цитата
QAxBase: Error calling IDispatch member Text: Exception thrown by server
Code : 1004
Source : Microsoft Excel
Description: ?????????? ???????? ???????? Text ?????? Characters
Help : xlmain11.chm
Connect to the exception(int,QString,QString,QString) signal to catch this exception
Подскажите пожалуйста куда копать
LEO Дата 27.9.2010, 13:24
  Из найденных вариантов работает только этот, но это какой-то изврат. Подскажите пожалуйста возможную альтернативу данному решению проблемы.
Цитата
Новые находки - доступ к символам внутри ячейки:
cell_ascii = sheet_ascii->querySubObject("cells(int,int)",i,j);
cell_ascii->dynamicCall("Select()");
char_ascii = cell_ascii->querySubObject("Characters(int,int)",s,l);
QChar char = char_ascii->property("Text").toString().at(0);
LEO Дата 27.9.2010, 12:27
  Всем доброго времени суток. Столкнулся с проблемой: запись в таблицу происходит замечательно, а вот прочитать не удается. 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
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 17:25