专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > QT开发

QT操作excel有异常

发布时间:2010-05-30 21:30:59 文章来源:www.iduyao.cn 采编人员:星星草
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界面,应该不会出现上述问题。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: