Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Qxlsx 是一个第三方的Excel文件读写库,使用C++ 与 Qt开发。

1. 介绍

image-20230422162532012

Qxlsx 是一个第三方的Excel文件读写库,使用C++ 与 Qt开发。

由于QtXlsx2014 年不再维护,该项目2017年起,基于Qtxlsx开发。

GitHub库:QtExcel/QXlsx

前身:Qtxlsx

两种方法开始使用Qtxlsx写一个新Excel 文件

  • 方法1:使用Xlsx作为Qt5的插件模块

要使用perl

  • 方法2: 直接使用源代码

window 平台尝试可以写入新Excel文件

Qt 官网的介绍:

image-20230422161641643

Handling Microsoft Excel file format - Qt Wiki

2. 如何使用?

安装设置:

How to setup QXlsx project -qmake

如果出错,可将其中8,9,10步骤可更改为:

  1. 复制QXlsx文件夹 到项目文件根目录下:
image-20230422163559547
  1. 在.pro文件中添加include
image-20230422163913732

构建项目后即可导入头文件

wiki 手册:

:one: 读单元格数据

image-20230422164839363

:two: 写单元格数据

image-20230422164941230

详情:Home · QtExcel/QXlsx Wiki (github.com)

Qxlsx 例子

应用:

1 直接读取Excel

image-20230422171345124

calendar

  • Excel日历
  • 创建了12个sheet表单
  • 设置了单元格大小
  • 修改单元格格式
  • 合并单元格
  • 单元格字体颜色,加粗

QXlsx/calendar

chart

  • 饼图,三维饼图
  • 柱形图,三维柱形图
  • 组合图,三维折线图
  • 面积图,三维面积图
  • 散点图,圆环图

chart

chartsheet

生成图与原始数据分别存在两个Excel表中

chartsheet

datavalidation

  • 数据验证限制,限制单元格内数值输入的范围

datavalidation

image-20230422165421867

documentpropery

  • ​ 设置文件的属性,创建人,公司,关键词,描述

extract data

导出软件Excel单元格内容在控制台显示

formula

hyperlink

image

Merge cells

numberformat

2 在android上显示

image-20230422171606819

3 加载到网络服务器上

image-20230422171627656

4 显示到控制台

image-20230422171651598

5 加载显示到Qt小组件上(目前未开源)

image-20230422172009399

3. Qxlsx存在的一些问题:

1 不支持QT4

2 不支持密码函数 ,可以使用Qxlnt补充

3 不支持Excel中的公式,可以使用Qxlnt补充⚠️(本身也能使用公式,见官网例子)

QXlsx/formulas.cpp at master

4 不支持打印到打印机

5 部分支持图表,还有一些bug 尚未修复

6 只有部分功能与 QtXlsxWriter兼容

7 QXlsx 不支持严格格式?(非过渡模式)

8 Qxlsx 不提供线程安全,在 QXlsx 库之外使用 QMutex

9 不支持多线程和并发。使用您自己的锁、互斥锁和信号量。


例子可运行源码地址:

https://github.com/silent426/QtLearning.git

评论