首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QT操作excel有异常

2012-03-04 
QT操作excel有错误,求助提示这个,为什么找不到这个呀ui_qaxselect.h: No such file or directory#ifndef Q

QT操作excel有错误,求助
提示这个,为什么找不到这个呀

ui_qaxselect.h: No such file or directory


#ifndef QT_NO_WIN_ACTIVEQT
#include "ui_qaxselect.h""
#endif



CSS code
#include <QtGui>#include <QAxObject>#include <QAxWidget>#include <qaxselect.h>int main(int argc, char **argv){    QApplication a(argc, argv);    QAxSelect select;    select.show();    QAxWidget excel("Excel.Application");    excel.setProperty("Visible", true);    QAxObject * workbooks = excel.querySubObject("WorkBooks");    workbooks->dynamicCall("Open (const QString&)", QString("c:/test.xls"));    QAxObject * workbook = excel.querySubObject("ActiveWorkBook");    QAxObject * worksheets = workbook->querySubObject("WorkSheets");    int intCount = worksheets->property("Count").toInt();    for (int i = 1; i <= intCount; i++)    {        int intVal;        QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", i);        qDebug() << i << worksheet->property("Name").toString();        QAxObject * range = worksheet->querySubObject("Cells(1,1)");        intVal = range->property("Value").toInt();        range->setProperty("Value", QVariant(intVal+1));        QAxObject * range2 = worksheet->querySubObject("Range(C1)");        intVal = range2->property("Value").toInt();        range2->setProperty("Value", QVariant(intVal+1));    }    QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", 1);    QAxObject * usedrange = worksheet->querySubObject("UsedRange");    QAxObject * rows = usedrange->querySubObject("Rows");    QAxObject * columns = usedrange->querySubObject("Columns");    int intRowStart = usedrange->property("Row").toInt();    int intColStart = usedrange->property("Column").toInt();    int intCols = columns->property("Count").toInt();    int intRows = rows->property("Count").toInt();    for (int i = intRowStart; i < intRowStart + intRows; i++)    {        for (int j = intColStart; j <= intColStart + intCols; j++)        {            QAxObject * range = worksheet->querySubObject("Cells(int,int)", i, j );            qDebug() << i << j << range->property("Value");        }    }    excel.setProperty("DisplayAlerts", 0);    workbook->dynamicCall("SaveAs (const QString&)", QString("c:/xlsbyqt.xls"));    excel.setProperty("DisplayAlerts", 1);    workbook->dynamicCall("Close (Boolean)", false);    excel.dynamicCall("Quit (void)");    return a.exec();}


[解决办法]
你使用了设计器设计窗体在编译的时候会产生相应的ui_窗体文件名.h文件,如果没有产生可以仔细检查一下,看是否有包含顺序或者其他小细节错误,希望可以帮到你!
[解决办法]
探讨
你使用了设计器设计窗体在编译的时候会产生相应的ui_窗体文件名.h文件,如果没有产生可以仔细检查一下,看是否有包含顺序或者其他小细节错误,希望可以帮到你!

[解决办法]
楼主,这个ui_qaxselect.h的问题你解决了没呢?我现在也遇到同样的问题,,,求答案!先谢谢了
[解决办法]
这个好像是这样子的,在designer里绘制好界面之后,编译一次就会自动生成ui_XXX.h文件,使用creator的话默认是出现在XXXX-build-desktop文件夹下的,你可以把鼠标放在#include “ui_XXX.h”上看一下包含路径,看对不对。还有就是ui_XXX.h文件也可以手动生成,就是在designer里绘制好之后点查看源码,复制出来就行了。
另外最新版的qt sdk添加ui界面之后会自动添加一个类来初始化ui界面,应该不会出现上述问题。

热点排行