Qt读写Excel--QXlsx编译为静态库2 原创
Qt读写Excel–QXlsx编译为静态库2🍆
更多精彩内容 |
---|
👉个人内容分类汇总 👈 |
👉Qt读写Excel–QXlsx基本使用1👈 |
---|
👉Qt读写Excel–QXlsx编译为静态库2👈 |
👉Qt读写Excel–QXlsx通过Document对象操作工作表3👈 |
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
工程文件
-
在Pro文件中删除
TARGET = QXlsx
,然后加入下列代码,这些代码是将编译后的静态库全部放到一个文件夹下,不用我们自己去拷,同时在编译debug版本静态库时在名称后面加一个d
用于区分,防止debug静态库覆盖了release静态库。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.lib
和QXlsxd.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; // 创建一个excel xlsx.write("A1", "Hello Qt!"); // 在第一行第一列写入数据 xlsx.saveAs("Test.xlsx"); // excel保存到./Test.xlsx } Widget::~Widget() { delete ui; }
👉🖐✋🤏✌🤞🤘🤙👈
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧