首页 > 其他分享 >Qt Excel的读写

Qt Excel的读写

时间:2024-04-30 10:34:13浏览次数:23  
标签:QXlsx Qt 文件 读写 Excel xlsx A1 include

在 Qt 中,可以使用第三方库来处理 Excel 文件,常用的库包括:

  QXlsx:一个基于 Qt 的 Excel 文件处理库,支持读写 Excel 文件。

  LibXL:一个商业的 Excel 文件处理库,支持多种编程语言,包括 C++。

  OpenXLSX:一个开源的 Excel 文件处理库,支持读写 Excel 文件,支持多种操作系统。

下面以 QXlsx 为例,介绍在 Qt 中读写 Excel 文件的方法:

1. 读取 Excel 文件

 1 #include <QCoreApplication>  
 2 #include <QtCore>  
 3 #include "xlsxdocument.h"  
 4   
 5 int main(int argc, char *argv[])  
 6 {  
 7     QCoreApplication a(argc, argv);  
 8       
 9     // 打开 Excel 文件  
10     QXlsx::Document xlsx("example.xlsx");  
11       
12     // 获取工作表对象  
13     QXlsx::Worksheet *worksheet = xlsx.currentWorksheet();  
14       
15     // 获取单元格内容  
16     QVariant value = worksheet->read("A1");  
17     qDebug() << value.toString();  
18       
19     // 设置单元格内容  
20     worksheet->write("A1", "Hello World");  
21       
22     // 保存文件  
23     xlsx.save();  
24       
25     return a.exec();  
26 }

  在上面的代码中,首先创建了一个 QXlsx::Document 对象,并打开了名为 example.xlsx 的 Excel 文件。然后获取了当前工作表对象,并使用 read 方法获取了 A1 单元格的值,并使用 write 方法设置了 A1 单元格的值。最后调用 save 方法保存文件。

2. 写入 Excel 文件

 1 #include <QCoreApplication>  
 2 #include <QtCore>  
 3 #include "xlsxdocument.h"  
 4   
 5 int main(int argc, char *argv[])  
 6 {  
 7     QCoreApplication a(argc, argv);  
 8       
 9     // 创建 Excel 文件  
10     QXlsx::Document xlsx;  
11       
12     // 创建工作表对象  
13     QXlsx::Worksheet *worksheet = xlsx.createWorksheet("Sheet1");  
14       
15     // 设置单元格内容  
16     worksheet->write("A1", "Hello World");  
17       
18     // 保存文件  
19     xlsx.save("example.xlsx");  
20       
21     return a.exec();  
22 }

在上面的代码中,首先创建了一个 QXlsx::Document 对象,并创建了一个名为 Sheet1 的工作表对象。然后使用 write 方法设置了 A1 单元格的值。最后调用 save 方法保存文件。

QXlsx是开源第三方库

Github下载:https://github.com/dbzhang800/QtXlsxWriter

官方文档:http://qtxlsx.debao.me/

标签:QXlsx,Qt,文件,读写,Excel,xlsx,A1,include
From: https://www.cnblogs.com/ybqjymy/p/18167373

相关文章

  • 多人同时导出 Excel 干崩服务器!新来的阿里大佬给出的解决方案太优雅了!
    来源:juejin.cn/post/7259249904777838629前言业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;刚开......
  • Qt Creator + MSVC2017编译器配置指南
    QtCreator+MSVC2017编译器配置指南下载和安装MSVC2017编译器下载下载MSVC编译器安装工具:https://docs.microsoft.com/zh-tw/previous-versions/visualstudio/visual-studio-2017/install/use-command-line-parameters-to-install-visual-studio?view=vs-2017安装安......
  • 2.文件读写操作
    """一.有如下文件,1.txt,里面的内容为:键盘敲烂,月薪过万,键盘落灰狗屎一堆""""""分别完成以下功能:a:将原文件全部读出来并打印b:在原文件后面追加一行内容:信不信由你,反正我信了.c:将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了......
  • 给Qt搭建一个简单的Json服务器用于软件调试
    一.vscode+nodejs+npm安装二.nodejs服务器开启打开vscode-终端-新建终端进入json_server目录cdD:\json_server运行启动命令,启动json-server服务器npmrunjson:server效果如下:PSD:\json_server>npmrunjson:server>[email protected]:se......
  • Qt-Model/View综合示例
    相关类简介Qt和Model/View模式相关的类比较多,但一般存在继承关系,按model(模型),view(视图),delegate(委托)划分为如下几种:类型类名简介父类modelQAbstractItemModel(抽象类)常用的Model的基类QObjectQStandardItemModel通用model可以实现以下任意类型......
  • Qt控件QSplitter的用法
    简介继承自QFrame构造创建竖排分割窗口(一列多行)QSplitter*splitterVertical=newQSplitter(Qt::Vertical,nullptr);创建横排分割窗口(一行多列)QSplitter*splitterHorizontal=newQSplitter(Qt::Horizontal,nullptr);添加部件以子控件的方式添加QTex......
  • 通过Http链接地址爬取有赞微信商城商品信息及下载至EXCEL
    一、环境开发环境:MicrosoftVisualStudioProfessional2022(2)(64位)-Current版本17.7.7.netcore6.0AngleSharp1.1.2AngleSharp.Js0.15.0Downloder3.0.6Magicodes.IE.Excel2.7.5.1二、添加winform项目 三、添加html操作类 四、添加http请求帮助类......
  • Qt QSettings读写ini时 General 读不出来值
    简述我有一个配置文件,其中一个组General,怎么都读不出正确的值,全是空,但是别的组能读出来,改General2试试,果然可以,就怀疑是不是组名称被内置了。打开QSettings的帮助文档,搜索General,有内容,看下解释TheINIfileformathassevererestrictionsonthesyntaxofakey.Qt......
  • 解决PHPExcel超时、内存超出的问题
    一、PHPExcel导出数据量大的时候容易超时、内存使用超出限制。以前都是将PHP内存使用限制不断增大,超时时间不断增大来应对,但即使如此,web端导出时,浏览器依然会超时。考虑了Jquery+Ajax+table导出,数据量依然会使浏览器卡死,经尝试可以用以下方法,//打开PHP文件句柄,php://output......
  • mORMot 1.18 第07章 简单的读写操作
    mORMot1.18第七章简单的读写操作本章描述了典型的数据读写操作。首先,我们将注意力集中在数据上,而不是函数。读取操作返回一个TID,它是一个32位或64位整数(取决于你的内存模型),反映了表的信息。TID在表中的每一行都是唯一的。ORM的新手可能会感到惊讶,但通常你不需要创建SQL查询......