问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/weixin_48866092/article/details/139267923

前言

最近项目中有一个需求,需要添加一个查看历史记录的功能,将数据库中保存的数据下载下来。考虑到数据格式,Excel表格形式最为合适。因此,本文将详细介绍如何在Qt和VS中配置和使用QtXlsx。

目录

  1. 下载QtXlsx
  2. 将QtXlsx嵌入到代码中使用
  3. 将QtXlsx编译成库使用
    3.1 编译库需要电脑有perl环境
    3.2 编译QtXlsx
    3.3 配置QtXlsx
    3.4 使用QtXlsx库
    3.4.1 Qt使用方法
    3.4.2 VS中使用QtXlsx
  4. 遇到的疑问

1. 下载QtXlsx

可以通过以下方式下载QtXlsx:

下载成功后,可以看到如下目录结构:

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

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

将QtXlsx的源码直接嵌入到项目中使用,具体步骤如下:

  1. 复制src目录到自己的项目文件夹中。
  2. 在.pro文件中加入以下代码:
    include(src/xlsx/qtxlsx.pri)
    

保存后,源码就会被加载进来。接下来验证是否可以使用:

  1. 添加头文件
  2. 在源码中添加以下代码:
    QXlsx::Document xlsx;
    xlsx.saveAs("Test.xlsx");
    

运行后,可以在构建目录中看到生成的表格文件。

3. 将QtXlsx编译成库使用

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

需要安装Perl环境,下载链接如下,下载默认安装即可。
Strawberry Perl for Windows

3.2 编译QtXlsx

双击打开.pro文件,选择合适的编译器,点击构建。

在构建目录就会看到编译成功。由于Qt支持QtXlsx库,可以将其作为模块添加xlsx到.pro文件中。接下来给Qt配置QtXlsx。

3.3 配置QtXlsx

配置QtXlsx需要将相关文件复制到编译器的相应目录下:

  1. 将编译生成的include文件夹中的QtXlsx复制到你所要使用的编译器include目录中(例如D:\app\QT\5.14.2\msvc2017_64\include)。
  2. 将D:\VSProject\test\QtXlsxWriter\src\xlsx的所有头文件.h复制到D:\app\QT\5.14.2\msvc2017_64\include\QtXlsx中。
  3. 将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)。
  4. 将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)。
  5. 将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下。

至此,QtXlsx的配置已完成。

3.4 使用QtXlsx库

3.4.1 Qt使用方法

配置完成后,直接在Qt的.pro文件中添加xlsx模块即可使用:

编译运行后,可以在构建目录下看到生成的Excel表格。

3.4.2 VS中使用QtXlsx

在VS中使用QtXlsx需要进行以下配置:

  1. 在项目属性中,将配置好的include文件夹和lib库目录添加到VC++目录中。
  2. 在链接器输入中输入要使用的库,注意debug和release版本的库不同。
  3. 添加头文件后即可正常使用,验证方式与Qt中相同。

4. 遇到的疑问

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

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

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

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

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

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号