Qt5下Qxlsx模块安装及使用

2023-10-27

本篇文章讲述了如何在windows环境下为Qt5安装Qxlsx模块,以及Qxlsx模块的简单使用。

Perl+QtXlsx下载:https://download.csdn.net/download/u014779536/12543960

示例工程下载:https://download.csdn.net/download/u014779536/12543987

1. 未安装Qxlsx的程序效果

  1. 新建一个程序,在pro文件中加入:
QT  += xlsx

   
   
   
   
  • 1
  1. 在界面中添加一个按钮,设置以下槽函数:
/*
 * @brief 点击自动生成按钮
 */
void Widget::on_Btn_clicked()
{
    //![0]
    QXlsx::Document xlsx("EXCEL模板.xlsx");
    //![0]
<span class="token comment">//![1]</span>
xlsx<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token string">"A1"</span><span class="token punctuation">,</span> <span class="token string">"Hello Qt!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//![1]</span>

<span class="token comment">//![2]</span>
xlsx<span class="token punctuation">.</span><span class="token function">saveAs</span><span class="token punctuation">(</span><span class="token string">"生成的Qxlsx表格.xlsx"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">//xlsx.save();</span>
<span class="token comment">//![2]</span>

}

  • 在未安装Qxlsx模块的情况下程序会报错:
    在这里插入图片描述
    现在我们开始安装Qxlsx模块!

    2. 安装Perl(编译Qxlsx源码用)

    编译Qxlsx源码需要用到Perl5,所以先安装perl5.

    2.1 下载 ActivePerl 5.28

    perl5地址:https://www.perl.org/get.html

    1. 打开上面的网址,选择 ActiveState Prel
      在这里插入图片描述
    2. 选择 5.28版本(点击后需要登录github,自行登录)
      在这里插入图片描述
    3. 选择 Download Builds下载 exe 格式安装文件
      在这里插入图片描述
    4. 下载完成:
      在这里插入图片描述

    2.2 安装 ActivePerl 5.28

    1. 双击安装包:
      在这里插入图片描述
    2. 接受条款:
      在这里插入图片描述
    3. 选择典型安装:
      在这里插入图片描述
    4. 勾选以下选项:
      在这里插入图片描述
    5. 开始安装:
      在这里插入图片描述
    6. 等待安装完成:
      在这里插入图片描述
    7. 安装完成,重启,重启,马上重启电脑:
      在这里插入图片描述

    3. 下载并编译Qxlsx源码

    3.1 下载Qxlsx源码

    下载地址:https://github.com/dbzhang800/QtXlsxWriter

    1. 选择下载zip压缩包到本地:
      在这里插入图片描述
    2. 下载完成,解压:
      在这里插入图片描述

    3.2 编译Qxlsx源码

    1. 使用QT5打开 qtxlsx.pro
      在这里插入图片描述
    2. 选择编译器
      在这里插入图片描述
    3. 选择编译方式:
      在这里插入图片描述
    4. 点击“ctrl+B”构建项目,注意是 构建!构建!构建! 不要“ctrl+R”运行
      在这里插入图片描述
    5. 构建完成,有报错,但是不用管:
      在这里插入图片描述
      在这里插入图片描述
    6. 文件夹预览:
      在这里插入图片描述

    4. 将编译好的文件复制到Qt路径下

    找到Qt安装路径:
    在这里插入图片描述

    4.1 bin 路径文件复制

    在这里插入图片描述

    4.2 include 路径文件复制

    在这里插入图片描述

    4.3 lib 路径文件复制

    在这里插入图片描述

    4.4 mkspecs 路径文件复制

    复制构建目录下的 mkspecs\modules\qt_lib_xlsx.primsvc2017_64\mkspecs\modules 下:
    在这里插入图片描述

    4.5 大功告成!!

    开心一下啊~可以使用了
    在这里插入图片描述

    5. 使用Qxlsx模块

    5.1 安装 xlsx 模块后的效果演示

    我们再来看一下效果,安装xlsx模块前:
    在这里插入图片描述
    安装xlsx模块后:
    在这里插入图片描述

    5.2 使用xlsx加载模板并生成Excel文件

    模板文件:
    在这里插入图片描述
    程序界面:
    在这里插入图片描述
    关键代码:

    /*
     * @brief 点击自动生成按钮
     */
    void Widget::on_Btn_StartGenerate_clicked()
    {
        //![0]
        QXlsx::Document xlsx("EXCEL模板.xlsx");
        //![0]
    
    <span class="token comment">//![1]</span>
    xlsx<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token string">"A1"</span><span class="token punctuation">,</span> <span class="token string">"Hello Qt!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token comment">//![1]</span>
    
    <span class="token comment">//![2]</span>
    xlsx<span class="token punctuation">.</span><span class="token function">saveAs</span><span class="token punctuation">(</span><span class="token string">"生成的Qxlsx表格.xlsx"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token comment">//xlsx.save();</span>
    <span class="token comment">//![2]</span>
    

}

成功生成:
在这里插入图片描述
预览:
在这里插入图片描述

5.3 Qt xlsx官方教程

教程地址:http://qtxlsx.debao.me/
在这里插入图片描述
在这里插入图片描述

6. 教程相关文件下载:

Perl+QtXlsx下载:https://download.csdn.net/download/u014779536/12543960

示例工程下载:https://download.csdn.net/download/u014779536/12543987
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

                                </div><div><div></div></div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
                            </div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt5下Qxlsx模块安装及使用 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现

随机推荐

  • 大端模式(big-endian)与小端模式(little-endian)

    参考自 大端模式与小端模式 大端模式是指数据的低位保存在内存的高地址中 而数据的高位保存在内存的低地址中 小端模式是指数据的低位保存在内存的低地址中 而数据的高位保存在内存的高地址中 大小端模式的由来 在计算机系统中 我们是以字节为单位的
  • 【Caffe】官方例程之R-CNN物体检测

    R CNN is a state of the art detector that classifies region proposals by a finetuned Caffe model For the full details of
  • kvm cpu的亲和性绑定配置

    1 CPU的绑定配置 进程的处理器亲和性 process affinity 指将进程绑定到特定的一个或多个cpu上去执行 而不允许将进程调度到其他cpu上 物理cpu 表示真实的cpu个数 逻辑cpu 表示所有拥有一个完整真实cpu功能的单
  • nodejs npm 安装报错 无法安装 behind a proxy

    npm ERR Error connect ECONNREFUSED npm ERR at errnoException net js 878 11 npm ERR at Object afterConnect as oncomplete
  • Where-are-they-looking-PyTorch 代码Error: Bool value of Tensor with more than one value is ambiguous

    在Where are they looking PyTorch中的utils py中有一个判断 if temp lt best best temp 报出 Error Bool value of Tensor with more than o
  • Puppet

    1 Puppet简介 Puppet使用一种描述性语言来定义配置项 配置项中被称为 资源 描述性语言可以声明用户的配置状态 比如声明一个软件包应该被安装或一个服务应该被启动等 Puppet可以运行在一台服务器端 每个客户端通过SSL证书连接到
  • 机器学习在工业应用中的新思考

    人工智能在学术界默默发展了很多很多年 从最早的神经网络 到10年前风靡的SVM bagging and boosting 如今的深度学习 日新月异 各领风骚数几年 工业界的发展从最早应用于纯粹的互联网企业 近几年开始应用到更多更广泛的场景
  • Win32环境下两种用于C++的线程同步类

    线程同步是多线程程序设计的核心内容 它的目的是正确处理多线程并发时的各种问题 例如线程的等待 多个线程访问同一数据时的互斥 防死锁等 Win32提供多种内核对象和手段用于线程同步 如互斥量 信号量 事件 临界区等 所不同的是 互斥量 信号量
  • RPC流程一 - proto编写

    参考 https github com goyas goya rpc tree master src 对RPC中的Server端和Client端流程进行整理 代码目录 CMakeLists txt config cmake sample e
  • 手把手教你用代码实现 SSO 单点登录

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 每天 14 00 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框
  • SSH连接慢的问题

    维护linux经常需要使用ssh进行连接 但是有时会很郁闷的发现ssh连接部分机器的时候特别的慢 之前写过一篇文章
  • 【数字IC精品文章收录】近500篇文章

    数字IC全站文章索引demo版 建议收藏慢慢看 一 项目说明 1 1 索引目的 1 2 收录原则 1 3 投稿方式 1 4 版本迭代 二 数字IC学习路线 三 通用技能篇 3 1 数字电路 3 2 硬件描述语言 Verilog 3 3 li
  • React常见面试题

    React常见面试题 1 说说你对react的理解 有哪些特性 2 说说Real DOM和Virtual DOM的区别 优缺点 3 说说React生命周期有哪些不同的阶段 每个阶段对应的方法 4 说说React中setState执行机制 5
  • 【应用笔记】Sub-1G系列产品CW32W031单片机CAD应用参考

    一 功能介绍 CW32W031 的射频部分支持 CAD 中断 从 Deepsleep 进入 STB3 开启 CAD 功能并进入 RX 模式后 CW32W031 会检测信道中是否会有 ChirpIOT 信号 如果存在将 CAD IRQ 置高
  • 袁红岗的程序员修炼之道

    袁红岗的程序员修炼之道 转载引言 袁红岗1994年加盟金蝶 1996年在整个行业还处在DOS时代时最早成功开发出基于Windows平台的金蝶财务软件 开创了依靠技术创新推动企业快速发展的典范 1998年成功开发出基于三层结构组件技术的金蝶K
  • 解决Jenkins报告在浏览器无法显示问题

    在使用jenkins定时启动并收集测试报告的过程中 发现在jenkins上配置的HTML Report打开之后样式不对 页面一片空白 打开开发者模式 发现页面有很多脚本报错 提示有很多资源文件被禁止加载了 百度之后 发现这个是jenkins
  • 【JavaScript】花点时间了解执行上下文

    引言 当我们在浏览器中运行JavaScript代码时 浏览器会先创建一个全局执行上下文 Global Execution Context 然后逐行解析和执行代码 执行上下文是JavaScript中非常重要的概念 它决定了代码的执行顺序和作用
  • Echarts图例legend选中select状态动态更新(踩坑)

    今天计划实现一个小功能 但是却在细节上浪费了大量的时间 特此记录 想要实现的功能是这样的 如下一个ECharts图 后台会一次性接收85条曲线的数据 但在初始化的时候只显示前7条曲线 官方文档 给出了 legend selected 这个属
  • U++ 截屏并拿到所有的截屏资源

    void APluginUseActor spotScreen TArray
  • Qt5下Qxlsx模块安装及使用

    文章目录 1 未安装Qxlsx的程序效果 2 安装Perl 编译Qxlsx源码用 2 1 下载 ActivePerl 5 28 2 2 安装 ActivePerl 5 28 3 下载并编译Qxlsx源码 3 1 下载Qxlsx源码 3 2