当前位置: 首页 > news >正文

【C++/QT】QT5.6解析Excel教程(qtxlsx)

这里写目录标题

  • 【背景】
  • 【下载qtxlsx】
  • 【安装perl】
  • 【编译qtxlsx】
  • 【添加模块】
  • 【使用qtxlsx】

【背景】

新接触QT,很多东西都不会,刚接触一个解析Excel的demo,记录一下安装、编译、解析Excel的过程

【下载qtxlsx】

在解析之前,我们需要安装解析插件qtxlsx,该插件的源码地址为 https://github.com/dbzhang800/QtXlsxWriter
然后使用QT直接打开以下工程
在这里插入图片描述
!!!如果直接编译是会报错的的
error: Failed to run: perl -w D:\Qt\Qt5.6.0\5.6\mingw49_32\bin\syncqt.pl -mo
因为我们还需要安装 perl 来编译

【安装perl】

该工具的官网地址为:https://www.perl.org/get.html
如果是windows可直接前往:https://strawberryperl.com下载对应的(32位/64位)版本
然后无脑安装即可
在这里插入图片描述
安装完后验证是否安装成功:
win + R 输入 cmd进入窗口
然后输入 perl -v 验证是否安装成功
在这里插入图片描述

【编译qtxlsx】

在这里插入图片描述

点击构建项目即可开始编译,如果顺利的话在 [4编译输出] 有如下信息

在这里插入图片描述
此时已经编译完成
会在目录出现以下三个目录
在这里插入图片描述
(但是我的是在和项目同级目录多出一个大的文件夹,在里面才有以上三个目录)
然后我们需要将里面的内容添加到QT里

【添加模块】

此处copy https://blog.csdn.net/Y_L_John/article/details/112786586

3.1 : 拷贝上图 include文件下的文件到你的Qt安装目录,如C:\Qt\Qt5.6.0\5.6\msvc2015_64\include (直接copy,无需修改任何内容)
在这里插入图片描述

3.2 : 拷贝上图lib文件夹下 Qt5Xlsxd.lib Qt5Xlsx.lib Qt5Xlsx.prl Qt5Xlsxd.prl 4个文件到你的Qt的lib下 C:\Qt\Qt5.6.0\5.6\msvc2015_64\lib
在这里插入图片描述
3.3 : 拷贝lib文件夹下的 Qt5Xlsx.dll Qt5Xlsxd.dll 库文件到你的Qt库路径下 C:\Qt\Qt5.6.0\5.6\msvc2015_64\bin
在这里插入图片描述

3.4 : 拷贝 mkspecs\modules 文件夹下的qt_lib_xlsx.pri到你的Qt模块下 C:\Qt\Qt5.6.0\5.6\msvc2015_64\mkspecs\modules
在这里插入图片描述

此处如果不添加的话,在你的Pro文件内写 QT += xlsx 会不识别此模块

【使用qtxlsx】

在工程的pro文件中添加如下代码,将xlsx模块添加到Qt中:

QT   += xlsx

在代码中引入头文件:

#include "xlsxdocument.h"

简单操作:

1、打开xlsx文档

QXlsx::Document xlsx_file(xlsx_path);

2、遍历每个sheet

foreach( QString currentSheetName, xlsx_file.sheetNames() ) //遍历每个sheet{}

3、选择某个的sheet

 xlsx_file.selectSheet(SheetName);

4、读取某行某列

QString qs = xlsx_file.read(i, j).toString();

5、该sheet最大的行

xlsx_file.dimension().rowCount()

6、该sheet最大的列

xlsx_file.dimension().columnCount()

7、其他
写操作、图表操作见官方文档

http://www.lryc.cn/news/2946.html

相关文章:

  • C++之智能指针
  • Redis实战-session共享之修改登录拦截器
  • 数据可视化,流程化处理pycharts-
  • 1626_MIT 6.828 lab1课程大纲学习过程整理
  • 12月无情被辞:想给还不会自动化测试的技术人提个醒
  • 开发必备技术--docker(使用篇)
  • 2023备战金三银四,Python自动化软件测试面试宝典合集(三)
  • TortoiseGit 使用教程
  • Linux项目自动化构建工具make/Makefile
  • M100嵌入式自动吞吐式读写器|电动读卡机如何通过C#程序读取社保卡号
  • STM32----搭建Arduino开发环境
  • 华为OD机试 - 事件推送(Python),真机试题
  • 论如何获取CSDN原力
  • 流程引擎之发展史及对比总结
  • 【DSView逻辑分析抓取波形CAN步骤-硬件连接-数据解析-底层波形认识CAN-工具使用】
  • C++中的模板
  • Maven_第四章 使用Maven:IDEA环境
  • RocketMQ基础学习
  • I.MX6ULL内核开发4:设备号的组成与哈希表
  • 【博学谷学习记录】大数据课程-学习第六周总结
  • Cordova
  • 9.语义HTMLVScode扩展推荐
  • 一款非常不错的微信系统垃圾清理工具:微信清理大师,操作简单,清除较快。
  • PMP考前冲刺2.11 | 2023新征程,一举拿证
  • yalc(比 yarn/npm link 更加友好的前端依赖库 link 方案)
  • Github | 个人资料自述文件配置的不完全总结
  • 2022年12月电子学会Python等级考试试卷(二级)答案解析
  • SpringCloud第二讲 Ribbon负载均衡源码分析
  • Clip-path实现按钮流动边框动画
  • 不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布