zoukankan      html  css  js  c++  java
  • QT快速读取Excel

    获取文件的绝对值路径

    QFileInfo info(QStringLiteral("../GongCheng1/file/阿达.txt")); 

    QString strFile=info.absoluteFilePath();

     1 //QT+=axcontainer
     2 
     3 #include <QFileDialog>
     4 #include <QAxObject>
     5 #include <QVariant>
     6 #include <QList>
     7 
     8 void getExcelContent(QList<QList<QVariant>>& result)
     9 {
    10     QString filePath=QFileDialog::getOpenFileName(
    11         this, QStringLiteral("选择Excel文件"), "",
    12         QStringLiteral("Exel file(*.xls *.xlsx)"));
    13     if(filePath.isEmpty)return;
    14     
    15     QAxObject* excel=new QAxObject(this);
    16     excel->setControl("Excel.Application");//连接Excel控件  
    17     excel->dynamicCall("SetVisible (bool Visible)","false");//不显示窗体  
    18     excel->setProperty("DisplayAlerts"false);//不显示任何警告信息。如果为true那么在关闭是会出现类似“文件已修改,是否保存”的提示
    19 
    20     //打开文件
    21     QAxObject *workbooks = excel->querySubObject("WorkBooks");//获取工作簿集合
    22     QAxObject *workbook = excel->querySubObject("Open (const QString &)", filePath);//获取当前工作簿
    23   
    24     //打开表
    25     //QAxObject *worksheets = workbook->querySubObject("Sheets");//获取工作表集合  
    26     QAxObject *worksheet = worksheets->querySubObject("Item(int)",1);//工作表1,即sheet1 
    27 
    28     //获取表中的数据到QVariant中
    29     QAxObject *usedRange=worksheet->querySubObject("UsedRange");
    30     QVariant var=usedRange->dynamicCall("value");
    31     
    32     QVariantList varRowContents=var.toList();
    33     const int rowCount=varRowContents.size();
    34     QVariantList tmp;
    35     for(int i=0; i<rowCount; ++i)
    36     {
    37         tmp=varRowContents[i].toList();
    38         result.append(tmp);
    39     }

        //删除,防止程序关闭后有excel进程残留
        excel->dynamicCall("Quit(void)");
        delete excel;
    40 }
  • 相关阅读:
    Java第9次作业--接口及接口回调
    Java第8次作业--继承
    软件工程第三次作业——关于软件质量保障初探
    Java第7次作业--访问权限、对象使用
    Java第6次作业--static关键字、对象
    Java第5次作业--对象的创建与使用
    20194629 自动生成四则运算题第一版报告
    软件工程第一次作业
    今天开通博客啦!
    1170. Compare Strings by Frequency of the Smallest Character
  • 原文地址:https://www.cnblogs.com/wangbin-heng/p/10227491.html
Copyright © 2011-2022 走看看