前言: QtXlsx库
来到古月居的第一篇博客以Qt开始吧,这篇博客主要介绍QtXlsx的使用及安装,为后续的一个小项目做个铺垫,这里提前预报一下后续的一个小项目,做一个软件操作界面,其中账号密码的存取准备采用excel作为数据库存储。
QtXlsx库在Qt中用来操作Excel文件,可以跨平台使用,也就是说你在Linux下没有Microsoft Excel也可以使用这个库。QtXlsx的读写Excel文件速度也非常快。
一、QtXls库使用方法
1.1 实例操作介绍
使用Qtxlsx库,在Qt5.15.2(MSVC 2019,64位)中操作excel文件(读/写),使用Qt Creator设计界面,通过按钮按下进行对Excel的读写操作。在ui界面中,写入excel:两个输入框分别输入要写入的单元格及要写入单元格的内容,写入按钮按下则将文本框中内容写入excel并存为Test.xlsx文件;读取部分为一个按钮一个文本显示框,按钮按下开始读取excel对应单元格内容,并显示到文本显示框中。
1.2 新建一个Qt工程
我个人习惯用Qt Widget应用
tips: 记得要勾选Generate form,这样才会有ui界面设计
Translation那一步默认即可;
因为我安装了MinGW的编译环境,所以这里就是MinGW,还有MSVC的,都是可以的,不影响。
1.3 设计ui界面(Qt Creator)
QtCreator设计界面及对应空间命名如下图所示:
textBrowser命名有一个下划线,手残多打了一个横线,不过这只是命名而已,不影响应用,只要后面代码写的时候用这个名字就可以。希望这里不要误导大家,各位也不用纠结这个下划线是干啥的。
1.4 代码设计
首先在pro文件中添加xlsx模块,才可以使用这个库的函数对excel文件进行读写操作。
在widget.cpp总添加头函数:
#include <QtXlsx>
在两个按钮的槽函数中输入功能代码:
void Widget::on_pushButton_xlsxWrite_clicked()
{
QString Cell_num_w, Cell_val_w;
QXlsx::Document test_Xlsx;
// 获取文本框内设置的单元格及要写入的值
Cell_num_w = ui->textEdit_Cell->toPlainText();
Cell_val_w = ui->textEdit_cellValue->toPlainText();
// 将设置的内容写入对应单元格内并保存文件为 Test.xlsx
test_Xlsx.write(Cell_num_w, Cell_val_w);
test_Xlsx.saveAs("Test.xlsx");
QMessageBox::information(NULL, "提示", "Write Success!");
}
void Widget::on_pushButton_xlsxRead_clicked()
{
QXlsx::Document test_Xlsx("Test.xlsx"); // Test.xlsx跟工程在同一文件夹中,因此这里用相对路径
QString Cell_num_r, Cell_val_r;
Cell_num_r = ui->textEdit_Cell->toPlainText(); // 获取字符写入了哪一个单元格
// 读取对应单元格内容并在textBrowser显示出来
Cell_val_r = test_Xlsx.read(Cell_num_r).toString();
ui->textBrowser_->setText(Cell_val_r);
}
在Debug文件夹中可以看到新建的一个excel表格,里面的内容就是ui界面操作写入的内容。如下图所示。
二、QtXls库安装
2.1 下载QtXlsx源码
QtXlsx官网可以查看关于这个库的介绍,大家直接去github下载使用即可
点击蓝字进入下载链接—> Github下载链接
此外,后续的构建操作还需要电脑有perl环境,官网下载链接比较慢,需要的可以直接点击下面链接下载或者去官网下载。
快速下载: CSDN下载链接
下载后一路傻瓜式安装即可。
用Qt打开pro文件并构建(左下角的小锤子或者直接右键构建,只构建,不要运行)
将include文件夹中的 QtXlsx文件夹整个复制到 Qt安装目录中的incude文件夹,我的是在下面的路径:
D:\Qt\5.15.2\mingw81_64\include
将lib文件夹中的prl文件复制到
D:\Qt\5.15.2\mingw81_64\lib
将lib文件夹中的dll文件复制到
D:\Qt\5.15.2\mingw81_64\bin
将mkspecs文件夹中modules子文件夹pri文件复制到
D:\Qt\5.15.2\mingw81_64\mkspecs\modules
经过以上流程就操作结束了,在代码中可以愉快地使用xlsx模块了。如果编译过程出现什么问题可以在编译代码前运行qmake再运行代码,若碰到其它问题欢迎评论区讨论。
世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活。—-罗曼罗兰
加油 !
Author : 李光辉
date : Fri Sep 17 10:42:15 CST 2021
blog ID: Kevin_8_Lee
blog site : https://blog.csdn.net/Kevin_8_Lee & https://www.guyuehome.com/author/61398ec3d1017
评论(1)
您还未登录,请登录后发表或查看评论