Qt扩展-QXlsx读写Excel配置使用

QXlsx读写Excel配置使用

  • 一、概述
    • [1. 功能概述](#1. 功能概述)
    • [2. 其他维护](#2. 其他维护)
  • 二、安装
    • [1. 下载源码](#1. 下载源码)
    • [2. 配置项目](#2. 配置项目)
    • [3. 测试代码](#3. 测试代码)
    • [4. 运行结果](#4. 运行结果)

一、概述

项目介绍:https://qtexcel.github.io/QXlsx/Example.html

GitHub:https://github.com/QtExcel/QXlsx/tree/master

QXlsx 是一个读写excel表格的库,可以在Qt5、Qt6上使用。也是我觉得很方便的一个库,我们可以用这个库去生成简单的报表文件。这个库支持qmake和cmake的方式引入,配置也非常简单,也是跨平台的一个库。

1. 功能概述

这个库提供了像日历、图表、公式、图片、格式化、表格操作等功能。官方给的例程也非常多。

  • calendar
  • chart
  • chart sheet
  • data validation
  • demo
  • document property
  • extract data
  • formula
  • hyperlink
  • image
  • merge cells
  • number format
  • page margins
  • read style
  • richtext
  • row column
  • style
  • worksheet operations

2. 其他维护

同时这个项目下同时有对于标准C++、C语言的库的支持

Qxlnt(支持使用C++ 标准库的方式读写excel文件):https://github.com/QtExcel/Qxlnt

Qlibxlsxwriter (支持标准C语言读写excel文件):https://github.com/QtExcel/Qlibxlsxwriter

二、安装

下面简单介绍一下使用 qmake的方式引入,在作者提供的方式中,作者推荐我们使用 pri 方式引入。下面就以 pri 源码引入介绍。我们也可以将这个编译成库引入也可以。

1. 下载源码

将QXlsx下的 下面所选的文件拷贝到需要的项目目录下

拷贝过去后

2. 配置项目

在需要的Pro文件下添加如下的配置

bash 复制代码
# QXlsx code for Application Qt project
QXLSX_PARENTPATH=./         # current QXlsx path is . (. means curret directory)
QXLSX_HEADERPATH=./header/  # current QXlsx header path is ./header/
QXLSX_SOURCEPATH=./source/  # current QXlsx source path is ./source/
include(QXlsx.pri)

3. 测试代码

cpp 复制代码
// main.cpp

#include <QCoreApplication>

#include "xlsxdocument.h"
#include "xlsxchartsheet.h"
#include "xlsxcellrange.h"
#include "xlsxchart.h"
#include "xlsxrichstring.h"
#include "xlsxworkbook.h"
using namespace QXlsx;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QXlsx::Document xlsx;
    xlsx.write("A1", "Hello Qt!"); // write "Hello Qt!" to cell(A,1). it's shared string.
    xlsx.saveAs("Test.xlsx"); // save the document as 'Test.xlsx'

    return 0;
    // return a.exec();
}

4. 运行结果


相关推荐
宁渡AI大模型几秒前
河南宁渡科技有限公司|宁渡课堂 AI 全栈面试分享,AI 应用开发高频考点汇总
java·c++·人工智能·python·深度学习·神经网络·rag
GG-_-Bond12 分钟前
9.1 kv存储内存池模拟面试问题
c++·c
AI吃大瓜16 分钟前
人脸检测和行人检测3:C/C++实现YOLOv8 YOLO11 YOLO26人脸检测和人体检测(含源码,可实时检测)
c++·yolov8·人脸检测·人体检测·yolo11·yolo26
Persistent的粽子!42 分钟前
C++的内存管理
c++·经验分享·笔记
hetao17338371 小时前
2026-09-13 hetao1733837 的刷题记录
c++·算法
hansang_IR1 小时前
【题解】[JSOI2016] 扭动的回文串
c++·算法
有点。1 小时前
C++03阶段练习(一)
数据结构·c++
刃神太酷啦1 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
郝学胜-神的一滴2 小时前
C++20模板元编程 01:从零吃透模板核心底层逻辑
开发语言·c++·vscode·程序人生·开源
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 123. 买卖股票的最佳时机 III | C++ 状态机动态规划与通用交易拓展
c++·算法·leetcode