Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office 直接使用源码

1.Qt Xlsx库简介

官方文档:Qt Xlsx | QtXlsx 0.3 (debao.me)

下载地址:dbzhang800/QtXlsxWriter: .xlsx file reader and writer for Qt5 (github.com)

CSDN下载地址:QtXlsxWriter-master源码资源-CSDN文库

2.源码取出

3.目录结构

再根目录下创建一个 qtxlsx 文件夹 把src都解压进去

4.引入目录

.pro文件引入

复制代码
# 使用qtxlsx源代码
include(qtxlsx/src/xlsx/qtxlsx.pri)

软件代码引入

复制代码
//引入头文件
#include "xlsxdocument.h"

实例

自己弄的一个简单写入动作 需要的自改

复制代码
void MainWindow::appendXlsxFile(const QString &firmwareVersion, const QString &imei, const QString &imsi, const QString &ID1, const QString &ID2, const QString &macAddress) {
    QString fileName = "自定义名称.xlsx";

    QXlsx::Document xlsx(fileName); // This will load the file if it exists or create a new one

    if (!xlsx.sheetNames().isEmpty()) {
        // File exists, load the existing document
    } else {
        xlsx.addSheet("Device Info");
        QXlsx::Worksheet *sheet = xlsx.currentWorksheet();
        sheet->write(1, 1, "Firmware Version");
        sheet->write(1, 2, "IMEI");
        sheet->write(1, 3, "IMSI");
        sheet->write(1, 4, "ID1");
        sheet->write(1, 5, "ID2");
        sheet->write(1, 6, "MAC (Formatted)");
        sheet->write(1, 7, "MAC (Original)");
        sheet->write(1, 8, "Generation DateTime");
    }

    QXlsx::Worksheet *sheet = xlsx.currentWorksheet();
    int lastRow = sheet->dimension().lastRow() + 1;

    QString TmpstrMac = macAddress;
    TmpstrMac = TmpstrMac.remove(":");

    // 添加新行数据
    sheet->write(lastRow, 1, firmwareVersion);
    sheet->write(lastRow, 2, imei);
    sheet->write(lastRow, 3, imsi);
    sheet->write(lastRow, 4, ID1);
    sheet->write(lastRow, 5, ID2);
    sheet->write(lastRow, 6, TmpstrMac);
    sheet->write(lastRow, 7, macAddress);
    sheet->write(lastRow, 8, QDateTime::currentDateTime().toString(Qt::ISODate));

    if (xlsx.save()) {
        qDebug() << "XLSX file appended successfully.";
    } else {
        qDebug() << "Failed to save XLSX file.";
    }
}
相关推荐
MessiGo12 分钟前
Javascript 编程基础(5)面向对象 | 5.1、构造函数实例化对象
开发语言·javascript·原型模式
大霞上仙16 分钟前
nonlocal 与global关键字
开发语言·python
galaxy_strive21 分钟前
绘制饼图详细过程
开发语言·c++·qt
黑客老李1 小时前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
开开心心就好1 小时前
高效Excel合并拆分软件
开发语言·javascript·c#·ocr·排序算法·excel·最小二乘法
特立独行的猫a1 小时前
Nuxt.js 中的路由配置详解
开发语言·前端·javascript·路由·nuxt·nuxtjs
勤奋的知更鸟2 小时前
Java编程之原型模式
java·开发语言·原型模式
珂朵莉MM2 小时前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
香蕉炒肉2 小时前
Java优化:双重for循环
java·开发语言
傍晚冰川2 小时前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习