Qt读写Excel--QXlsx编译为静态库2

1、概述🥔
在使用QXlsx时由于源码文件比较多,如果直接加载进项目里面,会增加每次编译的时间;
直接将源码加载进项目工程中,会导致项目文件非常多,结构变得更加臃肿;
所以在本文中将会将QXlsx编译为静态库再使用;
注意: 如果是刚接触QXlsx建议还是直接使用源码,因为QXlsx源码中的注释信息主要是在.cpp文件中,使用源码便于通过阅读源码和注释信息学习怎么使用QXlsx。
2、准备工作🥕
本文中使用到的QXlsx版本为:1.4.3

本文中使用到的Qt编译器版本为:msvc2017-64

下载源码

下载

或者使用Git命令下载git clone git@github.com:QtExcel/QXlsx.git

3、开始编译🌽
打开QXlsx工程:进入QXlsx文件夹,双击打开QXlsx.pro工程文件

 

 

contains(QT_ARCH, i386){        # 使用32位编译器
DESTDIR = $$PWD/bin             # 程序输出路径
}else{
message("64bit")                # 使用64位编译器
DESTDIR = $$PWD/bin64
}
win32:CONFIG(release, debug|release): TARGET = QXlsx        # 生成release版本静态库名称
else:win32:CONFIG(debug, debug|release): TARGET = QXlsxd    # 生成debug版本静态库名称

 

分别选择Debug、Release,然后点击左下角的锤子

 

编译完成后,在QXlsx文件夹下就会出现一个bin64文件夹,打开文件夹就可以看见有QXlsx.libQXlsxd.lib两个文件

 

新建一个QXlsx文件夹,将header文件夹和bin64文件夹拷贝到新建的QXlsx文件夹中,然后将header重命名为include,到这里编译的QXlsx就准备完成了。

4、加载QXlsx静态库🥒

  • 新建一个Qt工程,将准备好的QXlsx文件夹拷贝到工程目录下

 

在QtCreator中鼠标在工程上右键选择添加库

 

 选择外部库

 

点击浏览,找到工程路径下的QXlsx.lib库,选择Window为debug版本添加‘d’作为后缀

 

点击下一步后就会在Pro文件中生成下列内容

 然后改为下列内容,到这一步就加载完成了。

 

5、测试QXlsx静态库🥬

  • 在工程中添加下列代码,然后分别以debug、release模式编译,如果在生成的可执行程序路径下看见Test.xlsx文件了,那就说明QXlsx静态库 编译成功了✌

  • #include "widget.h"
    #include "ui_widget.h"#include "xlsxdocument.h"           // 添加QXlsx头文件Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
    {ui->setupUi(this);QXlsx::Document xlsx;           // 创建一个excelxlsx.write("A1", "Hello Qt!");  // 在第一行第一列写入数据xlsx.saveAs("Test.xlsx");       // excel保存到./Test.xlsx
    }Widget::~Widget()
    {delete ui;
    }
    

     

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

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

相关文章

骨传导耳机头晕是怎么回事?骨传导耳机好不好

骨传导耳机在音频传输上采用了不同于传统耳机的方式。它们通过将声音振动传递到颞骨,然后通过骨骼传导到内耳,从而使用户能够听到音乐或声音。 然而,有些人在使用骨传导耳机时可能会感到头晕。这可能与以下几个原因有关: 1、刚开…

99%的Python用户都不知道的f-string隐秘技巧

f-string想必很多Python用户都基础性的使用过,作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容,但f-string真正蕴含的功能远比大多数用户知道的要丰富,今天我们就来一起get它们~ 「最基础用法…

【CI/CD】基于 Jenkins+Docker+Git 的简单 CI 流程实践(上)

基于 JenkinsDockerGit 的简单 CI 流程实践(上) 在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要。目前已经形成一套标准的流程,最重要的组成部分就是 持续集成 及 持续交付、部署。…

Effective C++学习笔记(7)

目录 条款41:了解隐式接口和编译多态条款42:了解typename的双重意义条款43:学习处理模板化基类内的名称条款44:将与参数无关的代码抽离templates条款45:运用成员函数模板接受所有兼容类型条款46:需要类型转…

avue多选列表根据后端返回的某个值去判断是否选中;avue-curd多选回显

效果如上: getSiteList().then(res > {//列表数据this.siteData res.data.datathis.$nextTick(()>{this.siteData.forEach(item>{//业务条件if(item.configid&&item.configid!0&&item.configid>0){//符合条件时调用选中的方法this.$…

JAVASE---数组的定义与使用

数组的基本概念 什么是数组 数组是具有相同类型元素的集合,在内存中连续存储。 1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号,起始位置的编号为0,即数组的下标 数组的创建及初始化 数组的创建 T[…

Java SpringBoot Vue智能停车系统

基础环境 JDK1.8、Maven、Mysql、IntelliJ IDEA 内置功能 系统管理:角色管理、接口管理、系统菜单、全局配置 账号管理:用户管理、合作单位 系统监控:监控大屏、日志监控 财务管理:订单列表 停车记录:停车记录 车辆管…

Labview选项卡之实现被选择选项卡工作

文章目录 前言一、使用选项卡二、实现被选择选项卡工作1、需求2、分析3、实现①、前面板②、程序框图 三、效果展示四、源码自取 前言 有些时候,我们做界面,需要好多个界面切换。如果是同一个 VI 里界面切换,一般都是选项卡了。切换不同选项…

使用phpstorm开发调试thinkphp

1.环境准备 1.开发工具下载:PhpStorm: PHP IDE and Code Editor from JetBrains 2.PHP下载:PHP: Downloads 3. PHP扩展:PECL :: Package search 4.用与调试的xdebug模块: Xdebug: Downloads xdebug模块,如果是php8以…

23.8.16日总结

原先写的评论是每级评论用缩进来区分,所以最多设置的是九级评论,修改了排版和格式: 还有管理员页面,查看文章时可以进行点赞,收藏的操作,现在进行了修改,将相关操作隐藏。 还有点击查看未发布…

14-矩阵相乘及其运算法则

矩阵与向量的乘法 在这一篇文章中我们就将基于上一篇重新审视矩阵的这个视点来理解矩阵的乘法,那么在这一篇,我们主要来看一下矩阵和向量的乘法。这里这个线性方程组是上一小节给大家举的模拟的一个非常简单的小型经济系统的例子,我们可以把…

文件的导入与导出

文章目录 一、需求二、分析1. Excel 表格数据导出2. Excel 表格数据导入一、需求 在我们日常开发中,会有文件的导入导出的需求,如何在 vue 项目中写导入导出功能呢 二、分析 以 Excel 表格数据导出为例 1. Excel 表格数据导出 调用接口将返回的数据进行 Blob 转换,附: 接…

logstash日志换行处理小解

logstash主用于日志实时数据收集、解析,并将数据转发的工具,内置的功能也相当强大。但,同时意味着,他可能接收到各种情况的数据。 此处,我们主要讲解我实际使用中,碰到的一个小问题,换行(\n)。…

FPGA应用学习笔记--时钟域的控制 亚稳态的解决

时钟域就是同一个时钟的区域,体现在laways语句边缘触发语句中,设计规模增大就会导致时钟不同步,有时差,就要设计多时钟域。 会经过与门的延时产生的新时钟域,这种其实不推荐使用,但在ascl里面很常见 在处理…

八大排序超详解(动图+源码)

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大家三连关注&…

虚幻5中Lumen提供哪些功能以及如何工作的

虚幻引擎 5 中的 Lumen 是一个完全动态的全局照明和反射系统。它可以在虚幻引擎 5 中使用,因此创作者无需自行设置。它是为下一代控制台和建筑可视化等高端可视化而设计的。那么它提供了哪些功能以及如何工作? 全局照明 当光离开光源时,它会…

负载均衡搭建

LVS-DR部署 [客户端] node1 192.168.157.148 [lvs] node2 192.168.157.142 [web服务器] node3 192.168.157.145 node4 192.168.157.146(1)[lvs] yum install -y ipvsadm.x86_64 配置LVS负载均衡服务 (1)手动添加LVS转发1&#xff…

系统架构设计专业技能 · 软件工程之软件测试与维护(六)【系统架构设计师】

系列文章目录 系统架构设计专业技能 网络规划与设计(三)【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师…

MAVEN利器:一文带你了解MAVEN以及如何配置

前言: 强大的构建工具——Maven。作为Java生态系统中的重要组成部分,Maven为开发人员提供了一种简单而高效的方式来构建、管理和发布Java项目。无论是小型项目还是大型企业级应用,Maven都能帮助开发人员轻松处理依赖管理、编译、测试和部署等…

YOLOV7改进:加入RCS-OSA模块,提升检测速度

1.该文章属于YOLOV5/YOLOV7/YOLOV8改进专栏,包含大量的改进方式,主要以2023年的最新文章和2022年的文章提出改进方式。 2.提供更加详细的改进方法,如将注意力机制添加到网络的不同位置,便于做实验,也可以当做论文的创新点。 2.涨点效果:RCS-OSA模块更加轻量化,有效提升检…