Qt Xlsx的基本使用

news2024/11/26 12:41:23

前言

在很多时候 ,我们需要将数据导出,之前我是将数据表导出为CSV格式,CSV文件虽然可以用Excel打开,但相对于真正的Xlsx文件,还是有许多不足的。偶然之间,发现了QtXlsx这个第三方库。

1、QtXlsx官网对QtXlsx的介绍

QtXlsx简介:

QtXlsx是一个可以读取和写入Excel文件的库。它不需要Microsoft Excel,可以在Qt5支持的任何平台上使用。该库可以用来:

从头开始生成一个新的.xlsx文件
从现有的.xlsx文件中提取数据
编辑现有的.xlsx文件
入门

对于linux用户,如果你的Qt是通过诸如“apt-get”等软件包管理工具安装的,请确保你已经安装了Qt5开发软件包qtbase5-private-dev

用法(1):使用Xlsx作为Qt5的插件模块

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

构建模块
注意:在这一步中需要Perl。

下载源代码。

把源代码放在你喜欢的任何目录中

转到终端中项目的顶层目录并运行

1 qmake
2 make
3 make install

库,头文件等将被安装到您的系统中。

make html_docs可用于生成库的文档,make check并可用于运行库的单元测试。

使用模块
将以下行添加到您的qmake项目文件中:

QT += xlsx

然后,在你的代码中使用Qt Xlsx

1     #include "xlsxdocument.h"
2     int main()
3     {
4         QXlsx::Document xlsx;
5         xlsx.write("A1", "Hello Qt!");
6         xlsx.saveAs("Test.xlsx");
7         return 0;
8     }

笔者注:如果在Windows中,不会用qmake,安装好Perl后,构建源码项目,将生成的对应文件拷贝到Qt安装目录:

 1 1、首先拷贝include目录下的QtXlsx目录到Qt的安装目录下,比如我的拷贝到:
 2 D:\Qt\Qt5.7.0\5.7\msvc2013_64\include 
 3 
 4 2、接下来拷贝ib文件夹下Qt5Xlsxd.lib Qt5Xlsx.lib Qt5Xlsx.prl Qt5Xlsxd.prl4个文件到你的Qt的lib下:
 5 D:\Qt\Qt5.7.0\5.7\msvc2013_64\lib 
 6 
 7 3、拷贝lib文件夹下的Qt5Xlsx.dll Qt5Xlsxd.dll库文件到你的Qt库路径下
 8 D:\Qt\Qt5.7.0\5.7\msvc2013_64\bin 
 9 
10 4、拷贝 mkspecs\modules 文件夹下的qt_lib_xlsx.pri到你的Qt模块下 
11 D:\Qt\Qt5.7.0\5.7\msvc2013_64\mkspecs\modules 
12 
13 接下来就可以使用Qt进行excel的操作了,只是需要注意:
14 使用的时候需要包含头文件
15 
16 #include <QtXlsx>
17 在你的qmake .pro 需要添加:
18 QT += xlsx
19 完毕之后,最好先qmake 在构建工程,否则会提示连接不到库。 
20 之后就可以运行自己的QtXlsx项目了
用法(2):直接使用源代码

该软件包包含一个qtxlsx.pri文件,该文件允许您将组件集成到使用qmake进行构建步骤的应用程序中。

下载源代码。

把源代码放在你喜欢的任何目录中。例如,第三方:

1 |-- project.pro
2 |-- ....
3 |-- 3rdparty\
4 |     |-- qtxlsx\
5 |     |

将以下行添加到您的qmake项目文件

include(3rdparty/qtxlsx/src/xlsx/qtxlsx.pri)

如果你喜欢,你可以将src / xlsx中的所有文件复制到应用程序的源路径中。然后将以下行添加到您的项目文件中:

include(qtxlsx.pri)
Note: If you do not use qmake, you need to define the following macro manually
XLSX_NO_LIB

然后,在你的代码中使用Qt Xlsx

1     #include "xlsxdocument.h"
2     int main()
3     {
4         QXlsx::Document xlsx;
5         xlsx.write("A1", "Hello Qt!");
6         xlsx.saveAs("Test.xlsx");
7         return 0;
8     }

笔者用的第二种方法,个人认为比第一种方便

2、运行官方例子

运行QtXlsx例子,需要首先安装Perl 否则用Qt编译QtXlsx库时会报错。

Perl 自行下载

下好之后默认安装即可

将下载好的QtXlsx解压后,使用Qtcreater打开qxlsx.pro文件,构建。

 

现在,选择你喜欢的例子试试看吧!

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/621467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

makefile工具的使用,编写一个或多个文件!(简单易上手)

一、make 和 makefile 是什么 1. make 是一个 命令。 2. makefile 是一个 文件&#xff0c;可以自动化的构建项目。 3. 编写 makefile 需要&#xff1a; &#xff08;1&#xff09;依赖关系 &#xff08;2&#xff09;依赖方法 二、什么是依赖关系、什么是依赖方法 下面我简单…

【Java】Java核心要点总结:60

文章目录 1. 乐观锁一定就是好的吗2. Synchronized和ReentrantLock有什么异同3. ReentrantLock是如何实现可重入性的4. 和Synchronized相比&#xff0c;可以重入锁ReentrantLock实现原理有什么不同5. AQS框架 1. 乐观锁一定就是好的吗 乐观锁并不一定好&#xff0c;它有自己的适…

chatgpt赋能python:Python实现将一张图片贴到另一张图片上

Python实现将一张图片贴到另一张图片上 在图像处理中&#xff0c;往往需要将多张图片合成一张图片。这里介绍使用Python实现将一张图片贴到另一张图片上的方法。 准备工作 在实现之前&#xff0c;我们需要安装Python的图像处理库Pillow和numpy。 可以通过pip进行安装&#…

创建一个SpringBoot项目

Spring的诞生是为了简化JAVA程序的开发的 快速开发Spring而诞生的 SpringBoot为了快速开发Spring而诞生的一个框架 1)什么是SpringBoot&#xff1f;为什么要学它?(重要) Spring是包含了众多工具方法的IOC容器 SpringBoot就是Spring框架的脚手架&#xff0c;它的存在就是为了快…

软考A计划-系统架构师-官方考试指定教程-(2/15)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

chatgpt赋能python:Python屏幕输入介绍:了解命令行输入的基本知识

Python屏幕输入介绍&#xff1a;了解命令行输入的基本知识 Python是一种使用广泛的编程语言&#xff0c;用于编写各种类型的应用程序&#xff0c;包括图形用户界面应用程序和基于命令行的应用程序。对于基于命令行的应用程序来说&#xff0c;屏幕输入非常重要。本文将介绍Pyth…

Object.assign用法

Object.assign用法 Object.assign是什么&#xff1f; 首先了解下Object.assign()是什么。我们先看看ES6官方文档是怎么介绍的&#xff1f; Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。简单来说&#xff0c;就是Obj…

stm32超声波测距代码

操作思路&#xff1a; 初始化时将trig和echo端口都置低&#xff0c;首先向给trig 发送至少10 us的高电平脉冲&#xff08;模块自动向外发送8个40K的方波&#xff09;&#xff0c;然后等待&#xff0c;捕捉 echo 端输出上升沿&#xff0c;捕捉到上升沿的同时&#xff0c;打开定时…

(附源码)python音乐电台推荐系统的设计与实现 毕业设计 301210

音乐电台推荐系统 摘 要 随着人类向信息社会的不断迈进&#xff0c;风起云涌的信息时代正掀起一次新的革命&#xff0c;同时计算机网络技术高速发展&#xff0c;网络管理运用也变得越来越广泛。因此&#xff0c;建立一个B/S结构的音乐电台推荐系统来管理音乐电台信息&#xff0…

OpenAI 接口文档-(中文版)-(一)

介绍 Introduction 您可以通过来自任何语言的 HTTP 请求、我们的官方 Python 绑定、我们的官方 Node.js 库或社区维护的库与 API 进行交互。 若要安装官方 Python 绑定&#xff0c;请运行以下命令&#xff1a; pip install openai 要安装官方的 Node.js 库&#xff0c;请在 No…

chatgpt赋能python:Python将空格改为换行符

Python将空格改为换行符 在Python编程中&#xff0c;经常需要对字符串进行处理&#xff0c;其中包括将空格替换为换行符。这篇文章将会介绍如何使用Python来实现这个目标&#xff0c;并分享一些关于字符串处理的技巧。 为什么要将空格改为换行符 将空格改为换行符可以让文本…

chatgpt赋能python:Python屏蔽一段代码

Python屏蔽一段代码 在Python编程中&#xff0c;有时我们需要屏蔽一段代码以便于调试或者测试。在很多情况下&#xff0c;我们可能不想删除这段代码&#xff0c;因为需要在将来的某个时间再次使用它。为了解决这个问题&#xff0c;我们可以使用Python中的注释语句或者条件语句…

Vue3中集成Unreal 5.2 像素流(Pixel Streaming插件)

目录 1. 创建一个Unreal项目2. 启用Pixel Streaming插件3. 下载Unreal 5.2对应的Pixel Streaming Infrastructure4. 创建一个Vue项目5. 推流方式一&#xff1a;使用Unreal Engine 5.26. 推流方式二&#xff1a;打包项目参考资源&#xff1a; 1. 创建一个Unreal项目 默认大家都…

机器人的免费使用方法

目录 一、机器人是什么&#xff1f; 二、机器人免费使用的方法&#xff1a; 第一点&#xff1a;电脑端 第二点&#xff1a;手机端 三、结语&#xff1a; 一、机器人是什么&#xff1f; 博主理解&#xff1a;方便生活&#xff0c;比Siri更加高级&#xff0c;能够智能的对我们…

chatgpt赋能python:Python就业前景分析

Python就业前景分析 Python已成为全球最流行的编程语言之一&#xff0c;因其易学、易用、高效、可扩展性强等特点&#xff0c;Python在各个领域都发挥着重要作用。Python的发展和应用迅猛&#xff0c;拥有Python编程经验的工程师在各个领域都面临着广泛的就业机会。 Python的…

推荐一个Edge浏览器中的一个好用问答插件。

目录 ChatGPT介绍:一、ChatGPT是什么?二、ChatGPT发展:三、ChatGPT 优点:四、Edge浏览器插件五、结语: ChatGPT介绍: 一、ChatGPT是什么? ChatGPT 是一个基于语言模型 GPT-3.5 的聊天机器人&#xff0c;ChatGPT模型是Instruct GPT的姊妹模型&#xff08;siblingmodel&#x…

Sql Server 自动备份

Sql Server 自动备份 文章目录 Sql Server 自动备份1. 打开SQL Server&#xff0c;在管理下找到”维护计划”&#xff0c;右键点击”维护计划向导”&#xff0c;如图&#xff1b;2. 再次点击维护计划向导3. 在选择维护任务下勾选”备份数据库”、”清楚维护任务”4.选择需要备份…

ChatGPT应用于软件测试中的切入口(干货!)

以上均为本人原创&#xff0c;转载请说明出处&#xff0c;谢谢&#xff01; 如果您觉得这篇文章还不错的话&#xff0c;请点击关注&#xff0c;转发&#xff0c;再看&#xff1b; 全是干货&#xff0c;话不多说 开搞&#xff01; 1. 测试想法生成器 可以使用ChatGPT技术&…

宝塔反代教程+国内服务器访问openai api接口+502 Bad Gateway问题解决!

前言 宝塔反代教程国内服务器访问openai api接口502 Bad Gateway问题解决! 此方法最简单快捷&#xff0c;没有复杂步骤&#xff0c;不容易出错&#xff0c;即最简单&#xff0c;零代码、零部署的方法。 实现前提 一台海外VPSOpenAI官方的API_KEYChatGPT网站系统源码 ChatGP…

手机上谷歌的方法有哪些

google的方法 一般情况下&#xff0c;我们打开谷歌都是提示无法显示页面的&#xff0c;如图 先百度搜索下载一个能切换IP地址的软件 下载压缩包客户端到桌面上(没安装winRAR的童鞋请安装一下) 把客户端解压到桌面&#xff0c;双击里面的exe文件 输入注册好的账户和密码&#xf…