Qt操作excel的三方库Qtxlsx在Windows下使用注意事项

2023-11-05

Qt操作excel的三方库Qtxlsx在Windows下使用注意事项

1. Qt Xlsx简介

https://qtxlsx.debao.me/

Qt的XLSX模块提供了一组类来读写Excel文件。它不需要 Microsoft Excel,可以在 Qt5 支持的任何平台上使用。该库可用于

GitHub:https://github.com/dbzhang800/QtXlsxWriter

下面将说明如何编译该模块并添加到Qt5中,如何安装适用于Windows下的mingw版本Qt可以参考这里:https://blog.csdn.net/weixin_39510813/article/details/79680772

我目前使用的Qt5.9.1。

2. 编译及添加模块

需要编译生成一些文件将之添加到Qt5模块中,这样才可以以模块方式加入到项目中。

2.1 下载及编译

https://github.com/dbzhang800/QtXlsxWriter

注意点:估计QtXlsx是由Perl语言开发的然后封装成Qt库的,因此需要先安装Perl,这给了我们提示,我们其实可以将python操作excel或者一些其它操作进行Qt模块封装。

Perl的下载安装这里就不多说了,和安装python、node.js等类似,下载软件安装即可,官网下载地址:https://www.perl.org/get.html

目前最新的0.3版本直接下载master分支后打开对应根目录的.pro即可,然后配置默认编译后进行编译:

在这里插入图片描述

双击后Qt creator可以直接配置项目,进行默认配置:

在这里插入图片描述

等待片刻后直接编译(不要点运行和调试),然后等待编译完成即可:

在这里插入图片描述

2.2 拷贝相关文件集成到Qt5模块中

之后我们将头文件、动态库及静态库文件、模块相关文件等拷贝到已安装的Qt5模块文件夹中即可(我们在设计相关项目时也应当参考这种方式,这样后续升级添加功能只需要这样模块化的加入即可),目前编译的debug版本,当发布时编译release版本加入到打包目录即可:

在这里插入图片描述

以上四部分内容分别拷贝:

  • bin下的dll拷贝到“Qt安装目录/Qt版本xxx/编译器版本/bin/”,比如:D:\Qt5.9.1\5.9.1\mingw53_32\bin
  • include下的头文件拷贝到“Qt安装目录/Qt版本xxx/编译器版本/include/”,带上文件夹,比如QtXlsx整个头文件带文件加拷贝到:D:\Qt5.9.1\5.9.1\mingw53_32\include
  • lib目录类似,将.dll和.a的动态和静态库都拷贝过来,比如到:D:\Qt5.9.1\5.9.1\mingw53_32\lib
  • mkspecs下的文件应该主要是为了编译时的make寻找,将mkspecs下的文件拷贝到Qt类似目录即可,比如:D:\Qt5.9.1\5.9.1\mingw53_32\mkspecs\modules(我们只发现了modules文件夹所以先只拷贝这个)

2.3 调用QtXslx

调用的话根据不同的IDE进行配置即可,比如Qt creator的qmake方式则在项目pro中添加xlsx,比如QT += core gui xlsx

cmake方式则按照:https://blog.csdn.net/weixin_39510813/article/details/120570670

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt操作excel的三方库Qtxlsx在Windows下使用注意事项 的相关文章

  • 导出到excel时如何显示前导零?

    我正在通过更改内容类型来创建 Excel 报告 Response ContentType application vnd ms excel 我有包含前导零的值 问题是导出到 Excel 时缺少前导零 e g 000123 gt 123 我知
  • Qt(在 Windows 上)将权限级别设置为“requireAdministrator”

    我正在使用 Qt Creator 并努力制作 exe文件默认以管理员身份运行 在线阅读所有解决方案我试图将这一行放入我的 pro file QMAKE LFLAGS MANIFESTUAC level requireAdministrato
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • QTabWidget 选项卡在垂直方向,但文本在水平方向

    我正在尝试用 C Qt 制作一个带有这样的侧边栏的应用程序 但是当将 QTabWidget 方向设置为西时 它会使文本垂直 如何让文本位于左侧 但水平对齐 PS 我不需要图标 提前致谢 您可以使用QListWidget http doc q
  • 将包含宏的工作簿复制到不带宏的工作簿

    我能够复制工作簿 复制到所需位置 其中在后台包含宏 该副本还包含相同的宏 我的问题是我不希望这个重复的工作簿包含宏 谁能告诉怎么做吗 先感谢您 将您的工作簿保存为无宏 即简单地保存为 Excel 工作簿 对于我的 Excel 2007 这是
  • 我可以获取VBA代码中的注释文本吗

    可以说我有以下内容 Public Sub Information TEST End Sub 有没有办法得到 TEST 结果 不知何故通过VBA 例如 在 PHP 中 有一个获取注释的好方法 这里有什么想法吗 编辑 应该有办法 因为像 MZ
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • SQL Excel VBA 运行时错误 3709 无效连接

    这是我的第一个问题 欢迎提出建设性的批评 我正在尝试从 Excel VBA 查询 Access 数据库并将返回信息放入 Excel 范围中 我收到此错误 错误消息 运行时错误 3709 连接无法用于 执行此操作 在此情况下它已关闭或无效 语
  • 有没有更快的方法来使用Powershell解析Excel文档?

    我正在与一个接口MS Excel文件通过Powershell 每个 Excel 文档可能有大约 1000 行数据 目前这个脚本似乎读取了Excel文件并以每 0 6 秒 1 条记录的速率将值写入屏幕 乍一看 这似乎非常慢 这是我第一次阅读E
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 使用 VBScript 在日期字段值上选择错误的数据

    我有一张包含以下数据的表 现在 Excel 共有 36 个任务 每个任务有 4 列 第一个任务 即 Task1 名称将始终从 L 列开始 144 列描述了 36 个任务 现在我们需要按行进行检查 并需要检查 TNStart 开始日期 你们能
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • teracopy 如何替换默认的 Windows 副本

    我问了这个问题Windows 文件复制内部结构 动态加密 https stackoverflow com questions 24220382 windows file copy internals on the fly encryptio

随机推荐

  • Base64 example

    我们的图片大部分都是可以转换成base64编码的data image 这个在将canvas保存为img的时候尤其有用 虽然除ie外 大部分现代浏览器都已经支持原生的基于base64的encode和decode 例如btoa和atob 将ca
  • Netty的拆包粘包问题

    Netty使用的是TCP IP协议 必然会遇到拆包粘包的问题 Netty也给出了相关的解决方案 记录下Netty如何解决拆包粘包问题 TCP IP协议是 流 协议 就是类似水流一样的数据传输方式 当我们多次请求的时候 就会存在多发送和少发送
  • 从plsql导出ddl到PowerDesigner

    1 plsql导出ddl 工具 导出用户对象 选择需要到处的表 多选框 全部不掉 单选框 选单个文件 导出 2 PowerDesigner导入ddl 快捷键Ctrl R DataBase gt Update Model From Datab
  • Python如何判断输入的字符串是否是int或者float或者字符

    1 题目要求 在上一次猜游戏实验题目的基础上 完善程序 实现如下的功能 系统自动生成 1 100 以内的随机整数 让用户通过键盘输入所猜的数 如果 大于预设的数 显示 遗憾 太大了 小于预设的数 显示 遗憾 太小了 如此循环 直到猜中该数
  • 项目管理java_java项目管理经验总结

    1 谈完钱之后 这件事儿就与钱无关了 大家的一致目标就是把这个活干完 干好 别干到一半的时候跟我提钱太少 活太多的屁话 2 接私活主要是看组员是否有足够的时间 精力 能力来投入这件事情 三者缺一不可 我们之前就经常被坑 3 时刻要记住 钱不
  • mysql数据库修改密码的几种方法

    文章目录 MYSQL修改用户密码 update set grant mysqladmin 在日常使用mysql数据库的时候 我们有修改mysql数据库密码的需求 以下介绍四种修改mysql数据库密码的方法 MYSQL修改用户密码 updat
  • windows触摸板的操作

    一 单指 1 轻触 鼠标左键 2 双击后不松开 长按鼠标左键 这个不太好操作 二 双指 1 轻触 鼠标右键 2 上下滑动 鼠标滑轮 3 双指缩放 网页或图片的大小缩放 三 三指 1 轻触 打开搜索 2 下滑 回到桌面 3 上滑 打开程序管理
  • 点击按钮,QMovie动画播放结束时关闭当前窗口

    点击QToolButtoon弹出一个widget widget上有一个按钮 点击按钮后开始播放动画 当动画播放结束的时候发送finish信号 通知窗口关闭函数去关闭当前窗口 点击按钮播放此动画 直接拖控件完成布局 上代码 main cpp
  • C++11 map实现插入后按value自动排序

    本质上还是使用了map自动按照key进行排序的原理 所以将value放入key中可实现按value排序 include
  • 简单记录vue下单元测试及Mock数据

    1 vue cli 创建一个demo 创建一个 demo vue create demo 在VUE CLI 是有提供测试插件的 所以在构建项目时选择一个测试框架 运行测试脚本 在package json 中可以看到运行测试脚本命令 npm
  • 倾心倾力之作《Qt 5.9 C++开发指南》

    五一假期前收到了人民邮电出版社寄来的书 我们写的 Qt 5 9 C 开发指南 终于印刷出来了 从2016年11月开始写书 到今天终于印刷出版 历时约一年半 现在它终于面世了 成书过程 由于做项目的需要 在2014年开始转而用Qt编写软件 在
  • 301与302区别

    301与302区别 定义如下 301 Moved Permanently 被请求的资源已永久移动到新位置 并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一 如果可能 拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器
  • springboot多模块开发中实现打包

    前言 因为我使用的是idea社区版 所以在创建项目的时候他没有springboot的选项 所以只能创建普通maven项目 创建完成查看项目结构和pom文件 这里我并没有觉得有什么不对劲 所以没管 就去搭建其他模块了 这里就不展示了 后来我需
  • python函数与Lambda表达式

    python函数与Lambda表达式 函数的定义 def functionname parameters 函数 文档字符串 function suite return expression 函数定义的参数为形参 表示表示占据一个参数位置 传
  • Sql Server查询语句

    文章目录 Sql Server查询语句 基础查询 条件查询 模糊查询 Sql Server查询语句 对于Sql Server创建的表中的数据进行查询 可以进行 基础查询 条件查询 模糊查询 基础查询 基础查询语句为 select from
  • 央行数字货币研究所、中国信通院合作立项2项区块链国际标准

    国际电信联盟第十六研究组 简称ITU T SG16 于2021年4月19日至2021年4月30日召开全体会议 来自中国 美国 德国 巴西 西班牙 俄罗斯 瑞士 加拿大 英国 韩国 日本等国家和世界卫生组织等国际组织的百余名代表参加了此次为期
  • spring三级缓存总结

    前言 其实说到spring的三级缓存 也是经常被提到 自己也看过对应的源码 但是 总觉得自己还是没有真正的理解 为什么这样说呢 因为每次看到三级缓存相关的技术问题 自己心里感觉还是迷糊的 不知道为什么要有三级缓存 一级缓存不行吗 二级缓存是
  • unity3d学习笔记-动画(2.控制动画与Animator Controller)

    一 探索Animator Controller动画控制器 每当为选定的游戏对象创建第一个动画剪辑时 就会自动创建动画器组件 Animator负责分配动画 但是 它不控制实际的动画剪辑 这个任务落到了动画控制器身上 它也是用第一个动画剪辑自动
  • $.ajax如何在response中获取请求头

    ajax如何在response中获取请求头 下载文件时需要获取后端带在responseHeader中的文件名称 ajax type get url http xxxx currentuser contentType application
  • Qt操作excel的三方库Qtxlsx在Windows下使用注意事项

    Qt操作excel的三方库Qtxlsx在Windows下使用注意事项 文章目录 Qt操作excel的三方库Qtxlsx在Windows下使用注意事项 1 Qt Xlsx简介 2 编译及添加模块 2 1 下载及编译 2 2 拷贝相关文件集成到