Qt使用第三方库QXlsx将数据库的数据导出为Excel表格

一、参考和下载第三方库QXlsx

参考1
这篇博客对第三方库QXlsx介绍的比较详细。

1、概述

QXlsx是一个可以读写Excel文件的库。不依赖office以及wps组件,可以在Qt5支持的任何平台上使用。

2、使用方式

(1) QXlsx可以编译为静态库库使用(可以提升项目编译速度,也可以让项目代码量更少,不用一打开工程就几十个文件);
(2) 直接将QXlsx.pri加入代码中使用(我比较推荐直接使用源码,因为QXlsx的注释信息基本在cpp文件中,可以通过阅读源码和注释来学习QXlsx的功能,当然,如果你已经熟悉了QXlsx的使用方式那编译成库使用会更方便,可以使工程的代码量变少)

3、下载第三方库QXlsx

准备好git工具,下载第三方库QXlsx。
QXlsx
Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第1张图片

Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第2张图片Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第3张图片 git clone https://gitcode.net/mirrors/QtExcel/QXlsx.git
Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第4张图片Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第5张图片
将开源项目QXlsx中的文件QXlsx拷贝到Qt项目文件当前目录下。

Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第6张图片Qt工程文件中.pro文件加上以下内容:

# 添加QXlsx库文件
include($$PWD/QXlsx/QXlsx.pri)
INCLUDEPATH += $$PWD/QXlsx

Qt使用第三方库QXlsx将数据库的数据导出为Excel表格_第7张图片

二、参考代码

参考2
这篇博客对于介绍如何通过while(query.next())遍历的形式导出sqlite数据库中全部的数据到Excel上介绍地比较详细。
重点:参考2中博主的代码很好用,我稍微优化了一下,由于sqlite数据库数据导出成Excel数据是对数据库进行查找所有的数据,然后通过遍历的方法将一行一行的数据库数据写入到Excel文件中。如果涉及对数据库的各种操作,最好进行加锁(加互斥锁),然后对数据库资源操作完成之后解锁(解互斥锁),并且清除对数据库的操作,释放资源query.clear()

void MainWindow::on_buttonPrint_3_clicked()
{
   
    QXlsx::Document xlsx;
    QXlsx::Format title_format; /*设置标题的样式*/
    QXlsx::Format format2;/*小标题样式*/
    QXlsx::Format format3;/*数据内容样式*

你可能感兴趣的:(qt,数据库,excel,sqlite,QXlsx库)