QT之Excel表格操作

  • 提前准备
  • 打开读取excel文件
  • 写入保存excel文件

提前准备

pro文件中添加:
QT += axcontainer
在需要使用excel的文件中添加:
#include <QAxObject>
#include <QFile>

打开读取excel文件

    QAxObject *excel = NULL;    //本例中,excel设定为Excel文件的操作对象QAxObject *workbooks = NULL;QAxObject *workbook = NULL;  //Excel操作对象int column_count;QStringList data;QString dbname;QString sql_date;excel = new QAxObject("Excel.Application");excel->dynamicCall("SetVisible(bool)", false); //true 表示操作文件时可见,false表示为不可见excel->setProperty("EnableEvents",false);workbooks = excel->querySubObject("WorkBooks");QString nums = QFileDialog::getOpenFileName(this,tr("选择文件"),"./",tr("*.xls *.xlsx"));if(nums.isEmpty()){return;}QFile *file = new QFile;file->setFileName(nums);if(file->open(QIODevice::ReadOnly)){workbook = workbooks->querySubObject("Open(QString&)", nums);// 获取打开的excel文件中所有的工作sheetworkbook = excel->querySubObject("ActiveWorkBook");  //获取工作簿QAxObject * worksheets = workbook->querySubObject("WorkSheets");int iWorkSheet = worksheets->property("Count").toInt();  //获取工作表的数目//qDebug() << QString("Excel文件中表的个数: %1").arg(QString::number(iWorkSheet));QAxObject* pWorkSheet = workbook->querySubObject("Sheets(int)", 1);//获取第一张表QAxObject* used_range = pWorkSheet->querySubObject("UsedRange"); //获取该sheet的使用范围对象QVariant var = used_range->dynamicCall("Value");QAxObject *rows  = used_range->querySubObject("Rows");QAxObject *columns = used_range->querySubObject("Columns");int row_start = used_range->property("Row").toInt();          //获得开始行int column_start  = used_range->property("Column").toInt();     //获得开始列int row_count = rows->property("Count").toInt();column_count = columns->property("Count").toInt();delete used_range;QVariantList varRows = var.toList();            //得到表格中的所有数据if(varRows.isEmpty()){return;}const int rowCount = varRows.size();qDebug()<<"总行数:"<<row_count;qDebug()<<"总列数:"<<column_count;for(int i = 0;i<rowCount-1;i++)      {QVariantList rowData = varRows[i].toList();qDebug()<<"数据:"<<i<<rowData[4].toString();  }workbook->dynamicCall("Close()");excel->dynamicCall("Quit()");       //断开连接,接收新的连接file->close();                      //关闭文件}else{qDebug()<<"没有文件";}workbook->dynamicCall("Close (Boolean)", false);  //关闭文件delete excel;               //回收指针excel = NULL;

写入保存excel文件

QT之Excel表格操作相关推荐

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

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

  2. QT读取EXCEL表格日期格式问题解决

    QT读取EXCEL表格日期时间格式问题解决 问题: Qaxobject类操作excel表格,读取代码中日期格式读取错误,变为数字 eg:2016/7/23 输出打印值为 42574.524513888 ...

  3. 用QT导出Excel表格

    用QT导出Excel表格 前景描述:作者的需求是要在qt开发环境下能把数据导出到Excel表格,原本是打算是用Qt-QAxObject(QAxObject 是Qt提供的包装COM组件的类,通过COM操 ...

  4. python处理excel表格实例-python2 对excel表格操作完整示例

    本文实例讲述了python2 对excel表格操作.分享给大家供大家参考,具体如下: #!/usr/bin/env python2 # -*- coding: utf-8 -*- "&quo ...

  5. Python的excel表格操作,数据提取分析

    自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论 c ...

  6. Python3中的Excel表格操作

    一.2003以前的表格以.xls后缀,用xlwt来写表格,用xlrd来读取表格:2007的表格以.xlsx后缀,用openpyxl来读写表格. 二.xlrd使用介绍 1.导入模块   import x ...

  7. QT 制作 Excel 表格常用操作方法

    Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件. ...

  8. 计算机基础表格函数基础知识大全,大一计算机题库和答案:大一计算机基础excel表格操作题求解if函数部分...

    大一计算机基础excel表格操作题求解if函数部分 引号呢?字符串必须要用引号引起来,不然就是变量,就非法了.要类似这样: =IF(C3="电子",11000) 大学计算机基础期末 ...

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

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

最新文章

  1. oracle中怎么用累计,oracle实现累加,累计百分比计算
  2. bootstrap 栅栏剧中_Bootstrap 栅栏布局中 col-xs-*、col-sm-*、col-md-*、col-lg-* 区别及使用方法...
  3. HDU - 4565 So Easy!(共轭构造+推公式+矩阵快速幂)
  4. d.ts文件可以注释html吗,如何编写一个d.ts文件的步骤详解_旧店_前端开发者
  5. 轻松使用终端开启macOS系统的隐藏功能,小白都能看得懂
  6. Linux下查看串口信息
  7. 生产者消费者之阻塞队列版本
  8. 程序员的进阶课-架构师之路(5)-队列
  9. baidumap vue 判断范围_vue中百度地图API的调用
  10. 数据库的基本命令操作
  11. ExtJs布局学习笔记
  12. 一个很酷的快速开发代码生成器系统
  13. stata面板数据gmm回归_12短动态面板数据模型1-差分GMM估计-Stata软件操作教程
  14. Clock saver for Mac(博朗手表时钟屏保)
  15. SIFT特征点的匹配正确率衡量标准与量化
  16. Android Bluetooth HCI log 详解
  17. 最新最全张家界旅游攻略(您必须知道的张家界攻略)
  18. 唯芸星童鞋的第一个博客。
  19. 上帝之眼——GIS技术的决定性作用
  20. c# 调整图片分辨率

热门文章

  1. cassandra java cql_Cassandra CQL v3.3中文文档(上)
  2. Tumblr营销大法(二)
  3. Tumblr营销大法(一)
  4. 刘林仙《薛仁贵征东》 《薛丁山征西》整理
  5. 函数式思维: 运用函数式思维,第2 部分
  6. 计算机网络——cookie、session、token原理
  7. [转贴]一位营销总监的辞职信(非常经典)
  8. 计算机硬件系统的五大基本组成部分分别是,计算机的硬件系统由几大部分构成,分别包括哪些硬件,基本功能是什么?...
  9. 快捷指令|支付宝合集|安卓支付宝shell快捷指令大全
  10. Error: com.android.ide.common.process.ProcessException