QtXlsx使用及安装

Qt操作excel文件

前言: 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下载链接

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

  下载后一路傻瓜式安装即可。

  用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