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. 运行结果


相关推荐
UIU11424 分钟前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
raindayinrain25 分钟前
c++设计模式
开发语言·c++·设计模式
旖旎夜光27 分钟前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
D e re k ZH41 分钟前
保序回归:从 PAVA 到可并堆的单调约束优化
c++·算法·数据挖掘·回归·kotlin
青少儿编程课堂43 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:字典树前缀树与单词检索统计
c++·python·算法·bfs·信息学竞赛
octopus_c2 小时前
C++ 运算符重载详解 && 日期类的实现
开发语言·c++
青少儿编程课堂2 小时前
2026蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:堆排序与优先队列解析
c++·python·算法·bfs·信息学竞赛
j7~2 小时前
【C++ 面试笔记】(篇二):类与数据抽象 & STL 容器与算法
开发语言·c++·面试·stl容器和算法·类和数据抽象
Fuyo_11192 小时前
深入解析 C++ unordered_set 与 unordered_map 的核心特性与性能实战
开发语言·c++
码匠许师傅2 小时前
【C++三方组件】FFmpeg:音视频处理的瑞士军刀
c++·ffmpeg·音视频