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


相关推荐
快乐zbc6 小时前
【C++ 基础】:给定一个指针 p,你能判断它是否指向合法的对象吗?
c++
sulikey7 小时前
C++类和对象(下):初始化列表、static、友元、内部类等核心特性详解
c++·static·初始化列表·友元·匿名对象·内部类·编译器优化
oioihoii8 小时前
C++网络编程:从Socket混乱到优雅Reactor的蜕变之路
开发语言·网络·c++
笨鸟要努力8 小时前
Qt C++ windows 设置系统时间
c++·windows·qt
神仙别闹8 小时前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
友友马10 小时前
『QT』事件处理机制详解 (一)
开发语言·qt
R_.L10 小时前
【QT】常用控件(概述、QWidget核心属性)
qt·控件
烧酒同学10 小时前
【Qt】QScrollArea的滑动条无法拖动(已解决)
qt·bug
AA陈超12 小时前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
xlq2232212 小时前
22.多态(下)
开发语言·c++·算法