QT+VS使用QtXlsx详细步骤,以及遇到的问题

前言:最近项目中有一个需求,添加一个查看历史记录功能,需要将数据库中保存的数据,下载下来,那该以哪种格式呢?肯定是excel表格形式最好,所以本文记录一下,qt+vs如何配置以及如何使用QtXlsx。

目录

1.下载QtXlsx

2.将QtXlsx嵌入到代码中使用

3.将QtXlsx编译成库使用

3.1编译库需要电脑有perl环境

3.2 编译QtXlsx

3.3配置QtXlsx

3.4使用QtXlsx库

3.4.1qt使用方法

3.4.2vs中使用QtXlsx

4.遇到的疑问


1.下载QtXlsx

下载链接如下

https://github.com/dbzhang800/QtXlsxWriter

下载zip压缩包。

或者使用git命令

git clone https://github.com/dbzhang800/QtXlsxWriter.git

下载成功后如下图所示

在qt中使用QtXlsx,有两种方式,一种是将其作为源码直接使用,一种是将其编译为库使用。

2.将QtXlsx嵌入到代码中使用

复制src。到自己的项目文件夹中。

源码:

项目目录:

在.pro中加入此代码

include(src/xlsx/qtxlsx.pri)

保存就可以看到源码已经被加载进来

验证是否可以使用?

添加头文件

在源码中,添加此代码

 QXlsx::Document xlsx;
    xlsx.saveAs("Test.xlsx");

运行,就可以在构建目录中看到此表格被成功创建。

3.将QtXlsx编译成库使用

3.1编译库需要电脑有perl环境

下载链接如下,下载默认安装即可。

Strawberry Perl for Windows

3.2 编译QtXlsx

双击打开该pro文件

选择合适的编译器,点击构建。

在构建目录就会看到编译成功。

由于qt是支持QtXlsx库的,可以将其作为模块添加xlsx到pro文件中。所以接下来给qt配置qtxlsx。

3.3配置QtXlsx

配置QtXlsx,需要复制include,lib,bin,以及modules,到编译器的相应目录下。

3.3.1将编译生成的include文件夹中的QtXlsx复制到你所要使用的编译器include中

include文件夹下的Qtxlsx

复制到编译器include目录中,我要使用的是MSVC2017_64路径为D:\app\QT\5.14.2\msvc2017_64\include

将D:\VSProject\test\QtXlsxWriter\src\xlsx的所有头文件.h复制到D:\app\QT\5.14.2\msvc2017_64\include\QtXlsx中。

3.3.2将D:\VSProject\test\build-qtxlsx-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\lib中的.lib和.prl复制到编译器lib下D:\app\QT\5.14.2\msvc2017_64\lib

3.3.3将D:\VSProject\test\build-qtxlsx-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\bin目录下的dll复制到编译器bin下D:\app\QT\5.14.2\msvc2017_64\bin

3.3.4将D:\VSProject\test\build-qtxlsx-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\mkspecs\modules下的pri复制到编译器D:\app\QT\5.14.2\msvc2017_64\mkspecs\modules下

至此已配置完成。

3.4使用QtXlsx库

3.4.1qt使用方法

因为已经配置完成,直接在qt的.pro文件中添加xlsx,就可以直接使用

编译运行,构建目录下生成excel表格

3.4.2vs中使用QtXlsx

在项目右击属性,vc++目录中将配置好的include文件夹和lib库目录,添加上去

在链接器输入中输入要使用的库,debug和release版本不一样

添加头文件就能正常使用,验证方式和之前一样。

4.遇到的疑问

4.1在配置QtXlsx的时候,除了复制编译生成的include文件夹之外,还需要复制源码中的include文件夹,没有这一步QtXlsx没办法正常使用。

通常情况下,只复制编译生成的 include 文件夹就足够了,因为这些文件夹包含了 QtXlsx 库的头文件,使得您可以在项目中直接引用这些头文件,从而使用 QtXlsx 提供的功能。

然而,有时候需要额外复制源码中的 include 文件夹是因为以下情况:

  1. 依赖项的头文件:QtXlsx 自身可能依赖于其他库或模块,而这些依赖项的头文件可能包含在 QtXlsx 源码的 include 文件夹中。如果这些依赖项的头文件在编译时需要被引用,而编译生成的 include 文件夹中并未包含这些依赖项的头文件,那么您可能需要手动将这些头文件从源码中的 include 文件夹复制到编译生成的 include 文件夹中。

  2. 编译环境配置不完整:有时,编译生成的 include 文件夹可能不包含所有必需的头文件,这可能是由于编译环境配置不完整或不正确导致的。在这种情况下,复制源码中的 include 文件夹可以作为一种补救措施,以确保编译过程中能够找到所有必需的头文件。

总的来说,通常情况下只需复制编译生成的 include 文件夹就足够了,但在某些情况下,为了解决依赖项或编译环境配置不完整的问题,可能需要额外复制源码中的 include 文件夹。这样做可以确保编译过程顺利进行,并且最终能够在项目中正常使用 QtXlsx 提供的功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值