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模块安装及使用 的相关文章

  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • 如果使用 SingleOrDefault() 并在数字列表中搜索不在列表中的数字,如何返回 null?

    使用查询正数列表时SingleOrDefault 当在列表中找不到数字时 如何返回 null 或像 1 这样的自定义值 而不是类型的默认值 在本例中为 0 你可以使用 var first theIntegers Cast
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问

随机推荐

  • 大端模式(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