Bootstrap

103、QT搭建Excel表环境-使用Qtxlsx库

环境搭建

文件下载

下载QtXlsx源码:https://github.com/dbzhang800/QtXlsxWriter
下载的内容里面的目录结构如下:
在这里插入图片描述
搭建perl环境
官网链接: https://strawberryperl.com/
在这里插入图片描述
下载后并安装
检验是否有perl环境的方法:

perl --version

安装前检验情况:
在这里插入图片描述
安装完成后再次检验
在这里插入图片描述

编译

在这里插入图片描述
然后分别执行下面的命令

    qmake
    make
    make install

如果编译时遇到这个问题,
如果执行到make报错'perl' 不是内部或外部命令,也不是可运行的程序,直接去网址下载即可,网址为https://strawberryperl.com/
是因为安装文件中名字不一样,比如我的make实际上是这个mingw32-make
在这里插入图片描述
所以就变成了输入命令

    qmake
    mingw32-make
    mingw32-make install

可以看‘make‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案
在这里插入图片描述
改不改无所谓

如果你没有MinGW_Get就只有先去安装了:http://www.mingw.org/
参考文档:https://blog.csdn.net/weixin_41923961/article/details/103706492

然后就可以在自己Qt工程pro文件中加上QT += xlsx即可,然后再cpp中加入

#include<QtXlsx>

参考文档:qt中安装第三方库Qtxlsx将数据存为xlsx以及xls格式

所需文件下载:
通过网盘分享的文件:QT安装excel环境_使用Qtxlsx库.rar
链接: https://pan.baidu.com/s/1Y7Ld0Mhf6y6HbAoiAPaHIw 提取码: sypg

EXcel多个子表写文件操作示例:

QT += xlsx

#include <QApplication>
#include "QtXlsx/xlsxdocument.h"
#include <QDebug>

void writeMultipleSheetsToExcel();

int main(int argc, char *argv[])
{
    int val = 0;
    QApplication a(argc, argv);
    writeMultipleSheetsToExcel();
    val = a.exec();
    return val;
}

// 创建并写入Excel文件及多个子表
void writeMultipleSheetsToExcel()
{
    QXlsx::Document xlsx;
    //QXlsx::AbstractSheet *sheet = NULL;

    qDebug()<<"addSheet(MySheet1)="<<xlsx.addSheet("MySheet1");
    qDebug()<<"addSheet(MySheet2)="<<xlsx.addSheet("MySheet2");

    if(xlsx.selectSheet("MySheet1"))
    {
        xlsx.write("A1", "第一个子表");// 创建第一个子表并写入数据
    }
    if(xlsx.selectSheet("MySheet2"))
    {
        xlsx.write("A1", "第二个子表");// 创建第一个子表并写入数据
    }


    // 保存Excel文件
    xlsx.saveAs("multiple_sheets.xlsx");
}

在这里插入图片描述
参考文章:
Qt 下快速读写Excel指南

;