当前位置: 首页 > news >正文

QXlsx读写excel

QXlsx读写excel

      • 安装 QXlsx
        • 使用 qmake
        • 使用 CMake
      • 基本用法
        • 1. 写入 Excel 文件
        • 2. 读取 Excel 文件
      • 详细用法
        • 1. 设置单元格样式
        • 2. 合并单元格
        • 3. 创建图表
        • 4. 设置列宽和行高
      • 完整示例

QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API,可以方便地操作 Excel 文件的内容。以下是关于 QXlsx 的详细介绍,包括安装、基本用法、读取和写入 Excel 文件的示例。

安装 QXlsx

使用 qmake
  1. 下载 QXlsx 库源代码:QXlsx GitHub
  2. 将下载的文件解压到你的项目目录中。
  3. 在你的 .pro 文件中添加以下内容:
include(path/to/qtxlsx/src/xlsx/xlsx.pri)

在这里插入图片描述

使用 CMake
  1. 下载 QXlsx 库源代码:QXlsx GitHub
  2. 将下载的文件解压到你的项目目录中。
  3. 在你的 CMakeLists.txt 中添加以下内容:
add_subdirectory(path/to/qtxlsx)
target_link_libraries(your_project Qt5::Xlsx)

基本用法

1. 写入 Excel 文件

下面的示例代码展示了如何使用 QXlsx 库创建一个新的 Excel 文件并写入一些数据。

#include <QCoreApplication>
#include <QXlsx>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QXlsx::Document xlsx;// 写入数据xlsx.write("A1", "Hello");xlsx.write("B2", 123);xlsx.write("C3", "=SUM(B2, 1)"); // 写入公式// 保存文件xlsx.saveAs("example.xlsx");return a.exec();
}
2. 读取 Excel 文件

下面的示例代码展示了如何使用 QXlsx 库读取一个已存在的 Excel 文件中的数据。

#include <QCoreApplication>
#include <QXlsx>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QXlsx::Document xlsx("example.xlsx");// 读取数据QVariant value1 = xlsx.read("A1");QVariant value2 = xlsx.read("B2");QVariant value3 = xlsx.read("C3");qDebug() << "A1:" << value1.toString();qDebug() << "B2:" << value2.toInt();qDebug() << "C3:" << value3.toString();return a.exec();
}

详细用法

1. 设置单元格样式

可以设置单元格的字体、颜色、对齐方式等。

QXlsx::Format format;
format.setFontColor(Qt::red);
format.setFontBold(true);xlsx.write("A1", "Styled Text", format);
2. 合并单元格

可以合并多个单元格。

xlsx.mergeCells("A1:B2");
xlsx.write("A1", "Merged Cells");
3. 创建图表

可以创建图表并插入到 Excel 文件中。

QXlsx::Chart *chart = xlsx.insertChart(3, 3, QSize(300, 300));
chart->setChartType(QXlsx::Chart::CT_Line);QXlsx::CellRange range("A1:B2");
chart->addSeries(range);
4. 设置列宽和行高

可以设置指定列的宽度和指定行的高度。

xlsx.setColumnWidth(1, 20); // 设置第一列的宽度为20
xlsx.setRowHeight(1, 30);   // 设置第一行的高度为30

完整示例

以下是一个综合示例,展示了如何使用 QXlsx 库进行更多操作。

#include <QCoreApplication>
#include <QXlsx>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QXlsx::Document xlsx;// 写入数据和设置样式QXlsx::Format format;format.setFontColor(Qt::blue);format.setFontBold(true);xlsx.write("A1", "Hello World", format);// 合并单元格xlsx.mergeCells("A2:B3");xlsx.write("A2", "Merged Cells");// 设置列宽和行高xlsx.setColumnWidth(1, 20);xlsx.setRowHeight(2, 30);// 创建图表xlsx.write("A5", 10);xlsx.write("A6", 20);xlsx.write("B5", 30);xlsx.write("B6", 40);QXlsx::Chart *chart = xlsx.insertChart(7, 1, QSize(300, 300));chart->setChartType(QXlsx::Chart::CT_Line);QXlsx::CellRange range("A5:B6");chart->addSeries(range);// 保存文件xlsx.saveAs("example.xlsx");return a.exec();
}

通过上述内容,你应该可以掌握使用 QXlsx 库进行 Excel 文件的读写操作。QXlsx 提供了丰富的 API,可以满足大部分对 Excel 文件操作的需求。

其他QT文章
1. QT开发环境安装以配置。
2. QT线段画板实战
3. 半小时玩转QT桌面系统托盘(含托盘消息)
4. QT入门开发一个时钟
5. 半小时教你做大转盘游戏(QT篇)
6. 手把手教你制作【带吸附效果的线段绘制】(QT)
7. 手把手教你开发-滚动效果号码抽奖(QT)
8. 100行代码实现贪吃蛇小游戏
9.C++实现《扫雷》游戏(入门经典)
10. svg转图片工具开发
11. Qt网路与通信(获取本机网络信息)
12. Qt网路与通信(UDP客户与服务)
13. Qt网络与通信(TCP聊天室)
14. Qt多线程以及线程池
15. Qt散点图、折线图、柱状图、盒须图、饼状图、雷达图开发实例
16. 取色器(QT)
17. MQTT客户端入门开发
18.QT文件上传带进度条实例(含源码)
19. Qt音乐播放器开发实例(可毕设含源码)
20. Qt学生管理系统-- 数据库课程设计(付源码)

相关文章:

QXlsx读写excel

QXlsx读写excel 安装 QXlsx使用 qmake使用 CMake 基本用法1. 写入 Excel 文件2. 读取 Excel 文件 详细用法1. 设置单元格样式2. 合并单元格3. 创建图表4. 设置列宽和行高 完整示例 QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API&#xff0c;可以…...

昇思25天学习打卡营第13天 | mindspore 实现 ShuffleNet 图像分类

1. 背景&#xff1a; 使用 mindspore 学习神经网络&#xff0c;打卡第 13 天&#xff1b;主要内容也依据 mindspore 的学习记录。 2. 迁移学习介绍&#xff1a; mindspore 实现 ShuffleNet 图像分类&#xff1b; ShuffleNet 基本介绍&#xff1a; ShuffleNetV1 是旷视科技提…...

C语言超市管理系统UI界面

以下是部分代码。需要源码的私信 #include<easyx.h> #include<stdio.h> #include<stdlib.h>#define width 1280 #define height 840 #define font_w 35 //字体宽度 #define font_h 90 //字体高度typedef struct node {char name[100];//名字char number[1…...

BUUCTF逆向wp [MRCTF2020]Xor

第一步 查壳&#xff0c;该题是32位&#xff0c;无壳。 第二步 跟进main&#xff0c;发现反汇编不了 通过下图我们可以发现一串类似字符串的东西 第三步 我们看一下汇编 我们可以得到这些信息&#xff1a;flag的长度为27&#xff08;下面是对本条指令cmp edx 27指令的应用…...

Windows版MySQL5.7解压直用(如何卸载更换位置重新安装)

文章目录 停止mysql进程及服务迁移整个mysql文件夹删除data重启计算机重新安装 停止mysql进程及服务 net stop mysql mysqld -remove mysql迁移整个mysql文件夹 删除data 重启计算机 shutdown -r -t 0重新安装 https://blog.csdn.net/xzzteach/article/details/137723185...

详解数据结构之二叉树(堆)

详解数据结构之二叉树(堆) 树 树的概念 树是一个非线性结构的数据结构&#xff0c;它是由 n(n>0)个有限节点组成的一个具有层次关系的集合&#xff0c;它的外观形似一颗倒挂着的树&#xff0c;根朝上&#xff0c;叶朝下&#xff0c;所以称呼为树。每颗子树的根节点有且只…...

Linux----Mplayer音视频库的移植

想要播放视频音乐就得移植相关库到板子上 Mplayer移植需要依赖以下源文件&#xff1a;(从官网获取或者网上) 1、zlib-1.2.3.tar.gz &#xff1a;通用的内存空间的压缩库。 2、libpng-1.2.57.tar.gz :png格式图片的压缩或解压库 3、Jpegsrc.v9b.tar.gz : jpeg格式图片的压…...

STM32测测速---编码电机读取速度的计算

1、首先先了解一下计算的公式 速度计算&#xff1a; 轮胎每转一圈的脉冲数取决于编码器的分辨率&#xff0c;可由下面公式进行计算&#xff1a; PPR是电机的线数 以GA25-370电机为例。 图片来源&#xff1a;第四节&#xff1a;STM32定时器&#xff08;4.JGA25-370霍尔编码器…...

【已解决】服务器无法联网与更换镜像源

目录 问题描述&#xff1a; 1.修改网卡的 DNS1 和 DNS2 2.修改DNS列表 3.重启网络服务 4.切换镜像源 4.1备份原镜像源 4.2下载阿里云镜像源 4.3替换无法使用的域名 4.4刷新软件包缓存 4.5其他镜像源 5.阿里云镜像源开发者社区说明 6.阿里云DNS网址 7.DNS域名服务器…...

android11 屏蔽usb通过otg转接口外接鼠标设备

硬件平台&#xff1a;QCS6125 软件平台&#xff1a;Android11 需求&#xff1a;Android设备通过接usb转接线连接鼠标功能屏蔽。 考虑到屏蔽的层面可以从两个层面去做&#xff0c;一个是驱动层面不识别&#xff0c;一个就是Android系统层面不识别加载&#xff0c;本篇只讲后者。…...

HAL库源码移植与使用之RTC时钟

实时时钟(Real Time Clock&#xff0c;RTC)&#xff0c;本质是一个计数器&#xff0c;计数频率常为秒&#xff0c;专门用来记录时间。 普通定时器无法掉电运行&#xff01;但RTC可由VBAT备用电源供电&#xff0c;断电不断时 这里讲F1系列的RTC 可以产生三个中断信号&#xff…...

GIT命令学习 一

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…...

VS+QT 打包可执行文件.exe

切换成release版本&#xff0c;同时更改项目属性中release配置下的各个属性&#xff0c;确保匹配 重新生成解决方案&#xff0c;将生成的.exe复制到一个空白文件夹中 执行&#xff1a; cd D:\QT\5.12.10\msvc2015_64\binwindeployqt C:\Users\DELL\Desktop\serials\MainWind…...

Android笔试面试题AI答之Activity(2)

答案仅供参考&#xff0c;大部分为文心一言AI作答 目录 1. 请介绍一下Activity 生命周期&#xff1f;1. 完全生命周期2. 可见生命周期3. 前台生命周期4. 配置更改5. 特殊场景 2. 请介绍一下横竖屏切换时Activity的生命周期变化&#xff1f;1.默认行为&#xff08;未设置androi…...

来自Transformers的双向编码器表示(BERT) 通俗解释

来自Transformers的双向编码器表示&#xff08;BERT&#xff09; 目录 1. 从上下文无关到上下文敏感2. 从特定于任务到不可知任务3. BERT&#xff1a;把两个最好的结合起来4. BERT的输入表示5. 掩蔽语言模型&#xff08;Masked Language Modeling&#xff09;6. 下一句预测&am…...

代码随想录第十六天|贪心算法(2)

目录 LeetCode 134. 加油站 LeetCode 135. 分发糖果 LeetCode 860. 柠檬水找零 LeetCode 406. 根据身高重建队列 LeetCode 452. 用最少数量的箭引爆气球 LeetCode 435. 无重叠区间 LeetCode 763. 划分字母区间 LeetCode 56. 合并区间 LeetCode 738. 单调递增的数字 总…...

花几千上万学习Java,真没必要!(二十二)

1、final关键字&#xff1a; 测试代码1&#xff1a; package finaltest.com;public class FinalBasicDemo {public static void main(String[] args) {// final修饰基本数据类型变量final int number 5;// 尝试修改number的值&#xff0c;这将导致编译错误// number 10; // …...

在RK3568上如何烧录MAC?

这里我们用RKDevInfoWriteTool 1.1.4版本 下载地址&#xff1a;https://pan.baidu.com/s/1Y5uNhkyn7D_CjdT98GrlWA?pwdhm30 提 取 码&#xff1a;hm30 烧录过程&#xff1a; 1. 解压RKDevInfoWriteTool_Setup_V1.4_210527.7z 进入解压目录&#xff0c;双击运行RKDevInfo…...

1.30、基于卷积神经网络的手写数字旋转角度预测(matlab)

1、卷积神经网络的手写数字旋转角度预测原理及流程 基于卷积神经网络的手写数字旋转角度预测是一个常见的计算机视觉问题。在这种情况下&#xff0c;我们可以通过构建一个卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;来实现该任务。以下…...

Windows如何使用Python的sphinx

在Windows上使用Python的Sphinx进行文档渲染和呈现&#xff0c;‌可以遵循以下步骤进行操作&#xff1a;‌ 安装Python&#xff1a;‌首先&#xff0c;‌确保你的Windows系统上已经安装了Python。‌你可以从Python的官方网站下载并安装适合你系统&#xff08;‌32位或64位&…...

C++ STL nth_element 用法

一&#xff1a;功能 将一个序列分为两组&#xff0c;前一组元素都小于*nth&#xff0c;后一组元素都大于*nth&#xff0c; 并且确保第 nth 个位置就是排序之后所处的位置。即该位置的元素是该序列中第nth小的数。 二&#xff1a;用法 #include <vector> #include <a…...

【PostgreSQL教程】PostgreSQL 选择数据库

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...

C# —— HashTable

集合collections命名空间&#xff0c;专门进行一系列的数据存储和检索的类&#xff0c;主要包含了:堆栈、和队列、list、ArrayList、数组 HashTable 字典 storeList 排序列表等类 Array 数组 长度固定&#xff0c; 类型固定 通过索引值来进行访问 ArrayList动态数组&#xff0c…...

LeetCode 第407场周赛个人题解

目录 100372. 使两个整数相等的位更改次数 原题链接 思路分析 AC代码 100335. 字符串元音游戏 原题链接 思路分析 AC代码 100360. 将 1 移动到末尾的最大操作次数 原题链接 思路分析 AC代码 100329. 使数组等于目标数组所需的最少操作次数 原题链接 思路分析 A…...

使用Django框架实现音频上传功能

数据库设计&#xff08;models.py&#xff09; class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…...

[路由器]IP-MAC的绑定与取消

背景&#xff1a;当公司的网络不想与外部人员进行共享&#xff0c;可以在路由器页面配置IP-MAC的绑定&#xff0c;让公司内部人员的手机和电脑的mac&#xff0c;才能接入到公司。第一步&#xff1a;在ARP防护中&#xff0c;启动IP-MAC绑定选项&#xff0c;必须启动仅允许IP-MAC…...

Idea配置远程开发

Idea配置远程开发 本篇博客介绍使用idea通过ssh连接ubuntu服务器进行开发 目录 Idea配置远程开发1.idae上点击file->Remote Development2.点击New Connection3.填写相关信息4.输入密码5.选择IDE版本和项目路径5.1 点击open an SSH terminal打开控制台5.2 依次执行命令 6.成…...

lua 实现 函数 判断两个时间戳是否在同一天

函数用于判断两个时间戳是否在同一天。下面是对代码的详细解释&#xff1a; ### 函数参数 - stampA 和 stampB&#xff1a;两个时间戳&#xff0c;用于比较。- resetInfo&#xff1a;一个可选参数&#xff0c;包含小时、分钟和秒数&#xff0c;用于调整时间戳。 ### 函数实现…...

工作纪实53-log4j日志打印文件隔离

在项目中&#xff0c;我有一堆业务日志需要打印&#xff0c;另一部分的日志&#xff0c;是没有格式的&#xff0c;需要被云平台离线解析并收集到kafka或者hdfs、hive等&#xff0c;需要将日志隔离打印到不同的文件 正常的log4j配置是下面这样的&#xff0c;配合Sl4j直接使用默认…...

7月21日,贪心练习

大家好呀&#xff0c;今天带来一些贪心算法的应用解题、 一&#xff0c;柠檬水找零 . - 力扣&#xff08;LeetCode&#xff09; 解析&#xff1a; 本题的贪心体现在对于20美元的处理上&#xff0c;我们总是优先把功能较少的10元作为找零&#xff0c;这样可以让5元用处更大 …...

字节跳动小程序开发平台/关键词优化是什么意思

动态链接&#xff08;Dynamic Linking&#xff09; 每一个栈帧内部都包含一个指向运行时常量池或该栈帧所属方法的引用。包含这个引用的目的就是为了支持当前方法的代码能够实现动态链接。比如invokedynamic指令在Java源文件被编译成字节码文件中时&#xff0c;所有的变量和方…...

女人与马做受网站/磁力多多

标砖库提供了 net/rpc 包用来实现基础的rpc调用。 net/rpc库使用encoding/gob进行编解码&#xff0c;支持tcp或http数据传输方式&#xff0c;由于其他语言不支持gob编解码方式&#xff0c;所以使用net/rpc库实现的RPC方法没办法进行跨语言调用。 主要有服务端和客户端。 首先…...

axure rp9网站界面设计/网站外链查询

基本语法和实例&#xff1a;1、EXP:有三种主要的方式(完全、用户、表)1、完全&#xff1a;EXP SYSTEM/MANAGER BUFFER64000 FILEC:\FULL.DMP FULLY如果要执行完全导出&#xff0c;必须具有特殊的权限2、用户模式&#xff1a;EXP SONIC/SONIC BUFFER64000 FILEC:\SONIC.DMP O…...

贴吧网站建设/济南网络优化网站

C:\Users\this is user name\AppData\Roaming\Scooter Software\Beyond Compare 4 删除这个目录下所有文件(这个方法目前我试过可以的) 一劳永逸&#xff0c;修改注册表 1)在搜索栏中输入 regedit &#xff0c;打开注册表 2) 删除项目&#xff1a;计算机\HKEY_CURRENT_USE…...

从零开始做一个网站需要多少钱/最新疫情新闻100字

计算轮廓点的最小凸包像素面积&#xff0c;最小外接圆的快速方法 计算轮廓点的最小凸包像素面积和求解最小外接圆的方法有很多&#xff0c;本文各举出一种比较简单且快速的方法&#xff0c;读者可根据实际情况定义返回值精度&#xff0c;本文采用的是整型精度&#xff0c;代码…...

怎样做手机网站建设/网站营销软文

php mysql数据库操作分页类2021-01-23 15:35:484复制代码 代码如下:/**mysql数据库分页类*packagepagelist*authoryytcpt(无影)*version2008-03-27*copyrigthhttp://www.d5s.cn/*//**分页样式.page{float:left;font:11pxArial,Helvetica,sans-serif;padding:6px0;margin:0px10%…...