Qt之如何读取Excel表格数据

  • 概述:
  • 代码示例:
    • .pro:
    • 需要包含的头文件:
    • readExcelData.h:
    • readExcelData.cpp:
    • over:

概述:

大家好我是背锅侠“IT幻想家”, 今天唠叨一下Qt读取Excel需要注意的几个重要的点(个人理解):
1.Qt环境4.8.5或4.8.3下是有读取Excel的模块的,但是存在Bug的在你构建工程时会报找不到模块库
2.Excel环境,首先你的Excel一定是正版已经激活的软件,否则在你调用Excel的API函数时依旧会报错误
3.最重要的一点如果大家使用Debug进行调试一定要记得清理后台没有关闭的Excel.exe
4.此工程不支持跨平台使用,比如在麒麟下Linux下都会报找不到QAxObject这个类的,因为这个类是WinDows下的

代码示例:

.pro:

QT       += axcontainer        //5.4.1
CONFIG   += qaxcontainer  //因版本问题写的方式不同

需要包含的头文件:

#include <QVariant>                //读取出的数据只能用此类型容器进行存储
#include <ActiveQt/QAxObject>   //Excel

readExcelData.h:

    /*** @brief readExcelData 读取Excel数据* @return              saveCloseQuit();*/bool readExcelData();
private:QAxObject* excel;                            //操作Excel文件对象(open-save-close-quit)QAxObject* workbooks;                        //总工作薄对象QAxObject* workbook;                         //操作当前工作薄对象QAxObject* worksheets;                       //文件中所有<Sheet>表页QAxObject* worksheet;                        //存储第n个sheet对象QAxObject* usedrange;                        //存储当前sheet的数据对象

readExcelData.cpp:

ExcelRead::ExcelRead()
{excel = NULL;         //在构造函数中进行初始化操作workbooks = NULL;workbook = NULL;worksheets = NULL;worksheet = NULL;usedrange = NULL;}bool ExcelRead::readExcelData()
{excel = new QAxObject("Excel.Application");                                 //创建Excel对象连接驱动excel->dynamicCall("SetVisible(bool)",true);                                //ture的打开Excel表 false不打开Excel表excel->setProperty("DisplayAlerts",false);workbooks = excel->querySubObject("WorkBooks");workbook = workbooks->querySubObject("Open(const QString&)",fileName);      //打开指定Excelworksheets = workbook->querySubObject("WorkSheets");                       //获取表页对象worksheet = worksheets->querySubObject("Item(int)",1);                    //获取第1个sheet表usedrange =worksheet->querySubObject("Usedrange");                           //获取权限int iRow = usedrange->property("Row").toInt();                              //数据起始行数和列数(可以解决不规则Excel)int iCol = usedrange->property("Column").toInt();int intRow = usedrange->querySubObject("Rows")->property("Count").toInt();  //获取数据总行数// 逐行读取主表for (int i = iRow; i <= intRow; i++){QString number = worksheet->querySubObject("Cells(int,int)",i,1)->dynamicCall(("Value2()")).value<QString>();QString name = worksheet->querySubObject("Cells(int,int)",i,2)->dynamicCall(("Value2()")).value<QString>();QString id = worksheet->querySubObject("Cells(int,int)",i,3)->dynamicCall(("Value2()")).value<QString>();QString desc = worksheet->querySubObject("Cells(int,int)",i,4)->dynamicCall(("Value2()")).value<QString>();qDebug() << number << name << id << desc;//打印验证数据}return saveCloseQuit();
}

over:

欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!

向内认知,向外行走!

Qt之如何读取Excel表格数据相关推荐

  1. linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据

    Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...

  2. python读取excel表格数据

    python操作excel主要用到xlrd和xlwt两个库,xlrd读取表格数据,支持xlsx和xls格式的excel表格:xlwt写入excel表格数据 一.python读取excel表格数据 1. ...

  3. python 如何读取excel表格数据

    文章目录 前言 python 读取excel 表格 前言 如何用python读取excel表格数据呢 ? python 读取excel 表格 首先需要配置好环境,需要下载 xlrd 包: # 如果不指 ...

  4. 读取EXCEL表格数据到MATLAB成为矩阵

    读取EXCEL表格数据到MATLAB成为矩阵 data=xlsread('filename','sheet','range') 其中,'filename'为文件路径及文件名,'sheet'为数据表名称 ...

  5. Matlab中读取excel表格数据

    一:Matlab中读取excel表格数据步骤讲解: 第二步:  第三步:  第四步:  第五步:  第六步    第七步:  输入之后按回车键,就会出现相应的波形: 效果图:

  6. 使用最新的poi-4.1.0.jar导入导出Excel表格——读取Excel表格数据用法

    使用最新的poi-4.1.0.jar导入导出Excel表格--读取Excel表格数据用法 其中主要的一点心得就是在switch语句哪里进行读取数据转换时,我看到网上的一些用法都是使用 HSSFCell ...

  7. pandas使用read_excel函数读取excel表格数据为dataframe、设置sheet_name参数为表单索引位置列表则读取多个表单的数据并返回dataframe字典

    pandas使用read_excel函数读取excel表格数据为dataframe.使用sheet_name参数指定读取excel表格中指定的sheet表单.设置sheet_name参数为表单索引位置 ...

  8. 拒绝“累丑”,告别加班,一键读取Excel表格数据自动录入至网页

    朗思RPA:读取Excel表格数据自动录入到网页 朗思无代码RPA社区版可永久免费下载体验~ 零代码,易学易操作,可视化界面,全中文化支持,助力企业数字化转型,让员工工作更高效!

  9. Qt 读取Excel表格数据 生成Excel表格并写入数据

    qtxlsx读取Excel,无需本地存在excel或者wps驱动,读写操作更方便简洁. 一. 读取Excel表格 修改.pro文件,增加 axcontainer QT += axcontainer 导 ...

最新文章

  1. 自学python还是报班-Python应该自学还是报班好?
  2. Silverlight教程第四部分:使用 Style 元素更好地封装观感 (木野狐译)
  3. Navicat使用教程:在Navicat Monitor for MySQL/MariaDB中配置实例
  4. 优先队列如何按照pair 的第二关键字排序(对比vector按照pair第二关键字排序)
  5. TypeScript 里的 unknown 和 never
  6. 易语言微凉模块oracle,跟着微凉学易语言 【简单子类化】
  7. 调用未知DLL中的导出函数
  8. Windows Phone 7 LongListSelector控件实现分类列表和字母索引
  9. postgresql表中间加列_PostgreSQL ALTER TABLE命令
  10. 数据结构-栈(先进后出表)
  11. PyTorch 激励函数
  12. 【Windows】打印机0x0000011b解决办法
  13. python动作捕捉_打破价格垄断,工程师自制动作捕捉系统-嵌入式系统-与非网
  14. AR/VR应用前景探讨
  15. Android 开发技术周报
  16. 深度参与 openGauss Developer Day 2022,云和恩墨在多项活动中展风采
  17. RIP协议;OSPF协议;BGP协议
  18. 周易六十四卦——离卦
  19. element的el-input-number的默认值的问题
  20. 又一波网红餐饮店惨死,餐饮+新零售或将产生新格局

热门文章

  1. 4K电视与4K显示器区别
  2. 【BAT】修改指定的文件名称为系统当前日期
  3. 9个可视化图表在线制作工具,总有一款适合你
  4. 怎么解决idea中yaml无法识别或者飘红?
  5. 微软为什么能转型成功?
  6. 时尚新享受,告别鼠标手
  7. 自然数 素数 质数_素数列表–最多20,000个素数的图表
  8. MySQL视图简单操作
  9. Hive beeline常用操作
  10. kmeans聚类图像的像素并可视化