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 }
  • 相关阅读:
    IBM MQ 学习
    spring中配置监听队列的MQ
    数据库优化(二)
    设计模式
    VBA学习笔记(2)--新建word文档并插入文字
    VBA代码分行
    excel保存时出现“请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息”
    Excel VBA 操作 Word(入门篇)
    win10无法使用内置管理员账户打开应用
    五笔字根拆分规则_字根拆分方法
  • 原文地址:https://www.cnblogs.com/wangbin-heng/p/10227491.html
Copyright © 2011-2022 走看看