Russian Qt Forum

Qt => Вопросы новичков => Тема начата: ArhiZhek от Февраль 25, 2012, 23:16



Название: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: ArhiZhek от Февраль 25, 2012, 23:16
Подскажите пожалуйста, какими командами можно из lineEdit (их несколько, созданы в ui) перекинуть данные в ячейки Excel?


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: Rem Norton от Февраль 25, 2012, 23:39
http://developer.qt.nokia.com/forums/viewthread/1871


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: ArhiZhek от Февраль 26, 2012, 00:19
благодарю, помогло, но вот другая проблема - шрифт(покажу конец прогр, т.к. она большая)
Код:
QAxObject *range = StatSheet->querySubObject("Range(const QVariant&)", QVariant( QString("A1:C10")));

     range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(2),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_25->text());
         range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(3),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_26->text());
         range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(4),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_27->text());


         excel->dynamicCall( "SetVisible(bool)", TRUE );
         this->setCursor(Qt::ArrowCursor);
         delete excel [font="Courier New"]; //никак не пойму как "ему" объяснить, а то ругается...

     }
 


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: Rem Norton от Февраль 26, 2012, 00:34
А что собственно подразумевалось под этим? Что должно по идее происходить? В смысле: какова задумка автора?
Код:
delete excel [font="Courier New"];


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: ArhiZhek от Февраль 26, 2012, 11:05
моя задумка - это отправить посчитанные данные из Qt в excel, код вроде бы верный на отправку, но вот никак не пойму в чем проблема, опять же с этой строчкой на указание шрифта, если без нее, то выдает 15 ошибок, если с ней то от 1 до 5, в зависимости от места ее расположения в коде
Код:
   void Widget::exportToExcel(){

        this->setCursor(Qt::WaitCursor);
     QAxObject *excel = new QAxObject("Excel.Application", this);
     QAxObject *workbooks = excel->querySubObject("Workbooks");
     QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", "tabl.xlsx" );
     QAxObject *sheets = workbook->querySubObject("Sheets");
     QAxObject *StatSheet = sheets->querySubObject("Item(const QVariant&)", QVariant("1") );
     StatSheet->dynamicCall("Select()");
     QAxObject *range = StatSheet->querySubObject("Range(const QVariant&)", QVariant( QString("A1:C10")));

     range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(2),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_25->text());
         range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(3),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_26->text());
         range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(4),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_27->text());


         excel->dynamicCall( "SetVisible(bool)", TRUE );
        this->setCursor(Qt::ArrowCursor);
         delete excel;

     }
выдал 15 ошибок причем все однотипные - не определена ссылка на QAxBase

Код:
      excel->dynamicCall( "SetVisible(bool)", TRUE );
         this->setCursor(Qt::ArrowCursor);
         [font="Courier New"];
         delete excel[/font];

     }
а так всего три, никак не пойму что "ему" нужно


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: ArhiZhek от Февраль 26, 2012, 12:17
убрал полностью все Font и вставил вот такую строчку  QAxObject::QAxObject (QString const&, QObject*);
Код:
 void Widget::exportToExcel(){

        this->setCursor(Qt::WaitCursor);
     QAxObject::QAxObject (QString const&, QObject*); // но на этот раз выдает ошибку только на эту строчку типа (ожидание первичного выражения до "(" ";" "," "*") 4 ошибки
     QAxObject *excel = new QAxObject("Excel.Application", this);
     QAxObject *workbooks = excel->querySubObject("Workbooks");
     QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", "C:\Temp\tipaprogramy\tabl.xls" );
     QAxObject *sheets = workbook->querySubObject("Sheets");
     QAxObject *StatSheet = sheets->querySubObject("Item(const QVariant&)", QVariant("1") );
     StatSheet->dynamicCall("Select()");
     QAxObject *range = StatSheet->querySubObject("Range(const QVariant&)", QVariant( QString("A1:C10")));

     range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(2),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_25->text());
         range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(3),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_26->text());
         range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(4),QVariant(3));
         range->dynamicCall("SetValue(const QVariant&)", ui->lineEdit_27->text());


         excel->dynamicCall( "SetVisible(bool)", TRUE );
         this->setCursor(Qt::ArrowCursor);

         delete excel;

     }


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: mutineer от Февраль 26, 2012, 13:57
Код
C++ (Qt)
[font="Courier New"];
        delete excel[/font];

в плюсах таких конструкций нет. что ты хотел сказать этими двумя строками?


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: ArhiZhek от Февраль 26, 2012, 14:00
я предположил что это шрифт, которым будет напечатан в excel, но теперь я вообще не понимаю где у меня ошибка... :-\


Название: Re: построение таблицы в excel, по данным, посчитанным в Qt
Отправлено: mutineer от Февраль 26, 2012, 14:14
я предположил что это шрифт, которым будет напечатан в excel, но теперь я вообще не понимаю где у меня ошибка... :-\


В этом языке такая запись не имеет смысла