您现在的位置是:首页 > 经典句子

QT_XLSX库的导入和使用

作者:往北时间:2024-05-12 11:13:17分类:经典句子

简介  文章浏览阅读817次,点赞8次,收藏13次。主要介绍QtXlsx的使用及安装,为后续的测试项目做个铺垫,项目内容就是一个工装测试界面,其中扫码获取电路板的id号之后把烧录结果和测试结果采用excel作为数据库存储。‍。_qt安装qxlsx

点击全文阅读

QT_XLSX库的导入和使用

主要介绍QtXlsx的使用及安装,为后续的测试项目做个铺垫,项目内容就是一个工装测试界面,其中扫码获取电路板的id号之后把烧录结果和测试结果采用excel作为数据库存储。

一、QtXls库安装

1 .1 下载QtXlsx源码

QtXlsx官网可以查看关于这个库的介绍,大家直接去github下载使用即可,点击蓝字进入下载链接

—> Github下载链接:

https://github.com/dbzhang800/QtXlsxWriter

image

  此外,后续的构建操作还需要电脑有perl环境,官网下载链接比较慢,需要的可以直接点击下面链接下载或者去官网下载。

快速下载(CSDN下载):

https://download.csdn.net/download/Kevin_8_Lee/22780854

官网链接: https://strawberryperl.com/

image

  安装按照默认即可

  用Qt打开pro文件并构建(左下角的小锤子或者直接右键构建,只构建,不要运行)

image

image

  将include文件夹中的 QtXlsx文件夹整个复制到 Qt安装目录中的incude文件夹,我的是在下面的路径:

D:\Qt\5.11.1\mingw81_64\include  

image

将lib文件夹中的prl文件和.a后缀的库文件复制到

D:\Qt\5.11.1\mingw81_64\lib    

image

image

将lib文件夹中的dll文件复制到

D:\Qt\5.11.1\mingw81_64\bin    

image

将mkspecs文件夹中modules子文件夹pri文件复制到

D:\Qt\5.11.1\mingw81_64\mkspecs\modules  

image

经过以上流程就操作结束了,在代码中可以愉快地使用xlsx模块了。如果编译过程出现什么问题可以在编译代码前运行qmake再运行代码,若碰到其它问题欢迎评论区讨论。

二、QtXls库使用方法

2 .1 实例操作介绍

  QtXlsx库在Qt中用来操作Excel文件,可以跨平台使用,也就是说你在Linux下没有Microsoft Excel也可以使用这个库。QtXlsx的读写Excel文件速度也非常快。

   使用Qtxlsx库,在Qt5.11.1中操作excel文件(读/写)。操作说明如下:

2 .2 新建一个Qt工程

  随便取名字,带ui界面的比较好操作

image

2 .3 设计ui界面(Qt Creator)

QtCreator设计界面及对应空间命名如下图所示:

image

image

在类后写上字母注释这样方便引用

2 .4 代码设计

首先在pro文件中添加xlsx模块,才可以使用这个库的函数对excel文件进行读写操作。

image

在excel.h总添加头函数:

#include <QtXlsx>#include <QMessageBox>#include <QDebug>

image

在两个按钮的槽函数中输入功能代码:

void excel::on_pushButton_W_clicked(){    int Cell_num_h,Cell_num_v;    QString Cell_val_w;    QXlsx::Document test_Xlsx("./Test/Test.xlsx");    Cell_num_h = ui->lineEdit_W_h->text().toInt();    Cell_num_v = ui->lineEdit_W_v->text().toInt();    Cell_val_w = ui->lineEdit_W->text();    QString folderPath =log_path;    QDir folder(folderPath);    if (!folder.exists())    {        if (folder.mkpath(".")) {            qDebug() << "没有文件夹";            qDebug() << "Folder created successfully.";            test_Xlsx.write(Cell_num_h, Cell_num_v,Cell_val_w);            QMessageBox::information(NULL, "提示", "Write Success!");            // 将设置的内容写入对应单元格内并保存文件为 Test.xlsx            test_Xlsx.saveAs("./Test/Test.xlsx");        } else {            qDebug() << "Failed to create folder.";        }    }    else    {        qDebug() << "已经有文件夹了";        // 获取文本框内设置的单元格及要写入的值        test_Xlsx.write(Cell_num_h, Cell_num_v,Cell_val_w);        QMessageBox::information(NULL, "提示", "Write Success!");        test_Xlsx.save();    }}void excel::on_pushButton_R_clicked(){    QXlsx::Document test_Xlsx("./Test/Test.xlsx"); // Test.xlsx跟工程在同一文件夹中,因此这里用相对路径    QString Cell_val_r;    int   Cell_num_h, Cell_num_v;    Cell_num_h = ui->lineEdit_R_H->text().toInt();  // 获取字符写入了哪一个单元格    Cell_num_v = ui->lineEdit_R_V->text().toInt();    // 读取对应单元格内容并在textBrowser显示出来    Cell_val_r = test_Xlsx.read(Cell_num_h,Cell_num_v).toString();    ui->textEdit_R->setText(Cell_val_r);}

imageimage

程序界面:

image

使用:

image

在第一行第2列写入内容

image
可以在输出地方查到第一行第二列已经写入的内容

在bulid-debug下的tests文件夹中可以看到新建的一个excel表格,里面的内容就是ui界面操作写入的内容。如下图所示。
image

image

三、小结

这样就搞好了,剩下的各种函数可以在库里面自己运行单独的项目去测试使用!

网址参考:

https://mp.weixin.qq.com/s__biz=MzU1NjEwMTY0Mw==&mid=2247527494&idx=2&sn=96a5ad53c1bcc01198e43790fae15c84&chksm=fbc81522ccbf9c349b8c8d61d54e4d6a46d85d514bbba87ebe337343b7ae4386d4eb61e36965&scene=27

https://blog.csdn.net/Kevin_8_Lee

https://www.guyuehome.com/author/61398ec3d1017

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句